打印带有 for 循环格式的(大)列表



我手头有一个数组。现在我想合并打印文本和数组条目,所以我使用 .format。

我现在想看看是否有办法让以下工作与 for 循环(不是 a[0]、a[1]、a[2](。

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

这个返回IndexError: tuple index out of range

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

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作为参数列表解压缩。你可以对字典做类似的事情(使用双**解压缩关键字参数(:

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

最新更新