使用列表调用格式函数

时间:2013-10-13 09:15:34

标签: python arrays list string-formatting

如何使用列表作为参数调用format函数?

我想做这样的事情:

spacing = "{:<2} "*10
l = ['A','B','C','D','E','F','G','H','I','J']
print spacing.format(l)

1 个答案:

答案 0 :(得分:4)

使用*args格式:

spacing.format(*l)

这告诉Python将l的每个元素作为单独的参数应用于.format()方法。

请注意,如果您对计数进行硬编码,则spacing格式可能会导致元素过多或过少;也许使用l的长度代替:

spacing = "{:<2} " * len(l)

或使用str.join()消除最后一个空格:

spacing = ' '.join(['{:<2}'] * len(l))

演示:

>>> l = ['A','B','C','D','E','F','G','H','I','J']
>>> spacing = ' '.join(['{:<2}'] * len(l))
>>> spacing.format(*l)
'A  B  C  D  E  F  G  H  I  J '