python - 在 Python 2 中,我可以将列表传递给百分比格式运算符吗?

标签 python string list string-formatting python-2.x

我有一个要使用格式字符串打印的列表。在 Python 3 风格中,使用 "a string".format(arg,arg,arg),这很容易。我可以用 *mylist 替换参数,比如

mylist = [1,2,3]
"{} {} {}".format(*mylist)

我似乎无法使用旧的百分比格式来完成这项工作。我试过像 "%i %i %i"% mylist%i %i %i"% (mylist)%i % i %i"% (*mylist) 但我不断收到语法错误或“参数不足”。

这在 2.x 风格中是不可能的吗?

预计到达时间:我正在更改上面的示例,实际上我的意思是列表,而不是元组。我仍在学习,我不习惯使用两个不同的类似数组的结构。

最佳答案

str % tuple应该可以正常工作。

>>> mylist = (1, 2, 3)  # <---- tuple
>>> "%i %i %i" % mylist
'1 2 3'

顺便说一句,(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'

关于python - 在 Python 2 中,我可以将列表传递给百分比格式运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427730/

相关文章:

Java:如何将文本文件中的所有单词保存在字符串数组上

python - 如何按\n 拆分嵌套列表但跳过第一个? Python

python - 如何在 Streamlit 中更改 pandas 数据框中行的颜色?

将 double / float 转换为字符串

python 编码

string - 我如何根据字符串打印整列。 (随机列数)

python-3.x - 将列表转换为 pandas 数据框,其中列表包含字典

python - 在字典列表中查找键值

python - 如何在 Python 中实现多词人名的拼音算法

Python - 绘制大量线条