我有一个要使用格式字符串打印的内容列表。在 Python 3 风格中,使用"a string".format(arg,arg,arg)
, 这很容易。我可以用参数替换*mylist
, like
mylist = [1,2,3]
"{} {} {}".format(*mylist)
我似乎无法使用旧的百分比格式来实现这一点。我尝试过类似的东西"%i %i %i" % mylist
, %i %i %i" % (mylist)
, and %i %i %i" % (*mylist)
但我不断收到语法错误或“参数不足”。
这在 2.x 风格中是不可能的吗?
ETA:我正在更改上面的示例,我实际上的意思是list, not tuple。我仍在学习,我不习惯拥有两个不同的类似数组的结构。
str % tuple应该可以工作。
>>> mylist = (1, 2, 3) # <---- tuple
>>> "%i %i %i" % mylist
'1 2 3'
BTW, (1, 2, 3)
是元组文字,而不是列表文字。
>>> mylist = [1, 2, 3] # <----- list
>>> "%i %i %i" % mylist
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not list
如果你想让它适用于列表,请将列表转换为元组。
>>> "%i %i %i" % tuple(mylist)
'1 2 3'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)