带有for循环格式的print(big)列表

时间:2018-05-25 00:11:05

标签: python format

我手边有一个阵列。现在我想要一个文本和数组条目的组合打印,所以我使用.format。

我想现在,如果有办法让这个for循环得到以下工作(不是[0],[1],[2])。

a = [1,2,3]
print("""
A is {}
B is {}
C is {}
""".format(i for i in a))

这个返回IndexError: tuple index out of range

1 个答案:

答案 0 :(得分:1)

使用*将参数解压缩为参数列表:

a = [1,2,3]
print("""
A is {}
B is {}
C is {}
""".format(*[i for i in a]))

或者甚至更好,如果你不依赖于列表中的个别内容;

a = [1,2,3]
print("""
A is {}
B is {}
C is {}
""".format(*a))

Python以相同的方式读取这两个:*a被解压缩为参数列表。您可以使用字典执行类似的操作(使用解压缩关键字参数的double **):

a = {"alpha": 1, "beta": 2, "gamma":3}
print("""
A is {alpha}
B is {beta}
C is {gamma}
""".format(**a))