我手边有一个阵列。现在我想要一个文本和数组条目的组合打印,所以我使用.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
答案 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))