在Python 2.7中使用字符串格式化时,可以使用列表。

12 浏览
0 Comments

在Python 2.7中使用字符串格式化时,可以使用列表。

假设我有一个明确定义的列表,其中包含已知数量的(数值)元素,例如aa = [1,2,3,4,5] - 我想以特定的字符串形式打印它们。我知道可以这样做:\n

$ python
Python 2.7.6 (default, Nov 23 2017, 15:49:48) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> aa=[1,2,3,4,5]
>>> print "%dx%d+%d+%dx%d"%tuple(aa)
1x2+3+4x5

\n... 但我不喜欢格式字符串\"%dx%d+%d+%dx%d\"的样子,我更愿意使用string.format类型的格式化符号。所以,我知道可以使用以下方法:\n

>>> print "{}x{}+{}+{}x{}".format(aa[0], aa[1], aa[2], aa[3], aa[4])
1x2+3+4x5

\n... 但是,我觉得为string.format写出所有参数aa[0], aa[1], aa[2], aa[3], aa[4]有点冗长,因为在这种情况下,我明确知道我有足够的{}格式化符号来容纳列表/数组的所有元素,所以我更愿意只需将aa放在那里,像这样:\n

>>> print "{}x{}+{}+{}x{}".format(aa)
Traceback (most recent call last):
  File "", line 1, in 
IndexError: tuple index out of range

\n... 但不幸的是,这样不起作用。\n那么,如果有的话,有什么方法可以在string.format的参数中引用像aa这样的列表,而无需将其每个元素作为单独的参数扩展出来呢?

0