Skip to main content
 首页 » 编程设计

python之为什么 python 字符串格式化需要一个元组为什么列表不起作用

2025年05月04日14unruledboy

令我惊讶的是 python 的百分比样式格式不接受列表并且似乎只接受元组。这里的元组有什么特别之处?为什么列表会抛出错误?

In [1]: '%s %s' % ('hello', 'kilojoules')                                                      
Out[1]: 'hello kilojoules' 
 
In [2]: '%s %s' % ['hello', 'kilojoules']                                                      
--------------------------------------------------------------------------- 
TypeError                                 Traceback (most recent call last) 
<ipython-input-2-764f27542c69> in <module> 
----> 1 '%s %s' % ['hello', 'kilojoules'] 
 
TypeError: not enough arguments for format string 

请您参考如下方法:

您用来格式化字符串的方式是一种特殊的语法。在您显示的列表示例中,它正在将非元组(列表)转换为字符串,然后再尝试将其用于格式化目的。

您可以使用 format 方法来完成您想要做的事情。

In [1]: "{} {}".format(*['hello', 'kilojoules']) 

无论如何,还是建议这样做,as it is preferred .