Jam*_*s B 6 python string list string-formatting python-2.x
我有一个要使用格式字符串打印的内容列表。在 Python 3 风格中,使用"a string".format(arg,arg,arg),这很容易。我可以用参数替换*mylist,比如
mylist = [1,2,3]
"{} {} {}".format(*mylist)
Run Code Online (Sandbox Code Playgroud)
我似乎无法使用旧的百分比格式来实现这一点。我已经尝试过诸如"%i %i %i" % mylist、%i %i %i" % (mylist)、 and 之类的东西%i %i %i" % (*mylist),但我只是不断收到语法错误或“参数不足”。
这在 2.x 风格中是不可能的吗?
ETA:我正在更改上面的示例,我实际上指的是list,而不是tuple。我仍在学习,我不习惯拥有两个不同的类似数组的结构。
str % tuple应该可以工作。
>>> mylist = (1, 2, 3) # <---- tuple
>>> "%i %i %i" % mylist
'1 2 3'
Run Code Online (Sandbox Code Playgroud)
顺便说一句,(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
Run Code Online (Sandbox Code Playgroud)
如果你想让它适用于列表,请将列表转换为元组。
>>> "%i %i %i" % tuple(mylist)
'1 2 3'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3403 次 |
| 最近记录: |