在Python 2.7中使用字符串格式化时,可以使用列表。
在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
这样的列表,而无需将其每个元素作为单独的参数扩展出来呢?