字符串对象列表就像
nodes=["#A_CN1","#A_CN2","#A_CN3","#A_CN4","#A_CN5","#A_CN6","#A_CN7","#A_CN8","#A_CN9","#A_CN10"]
在上面的列表中有10个元素,但我需要使用大约100个元素,元素就像#A_CN100
有没有办法很快代表它而不是在python中写100次?
如果假设有一个包含100个元素的列表,其中每个元素本身都是一个列表,如node1,node2 ..都是一些列表
nodes=[node1,node2,node3,node4,node5,node6....node100]
如果我将其表达为
nodes=[node{0}.format(i) for i in range(1,101)]
但是,这会引发错误!如何纠正这个?
答案 0 :(得分:6)
包含列表推导的单行
nodes = ["#A_CN{0}".format(i) for i in range(1,101)]
评论中还有一个建议,即演示生成器版本。它看起来像这样:
nodes = ("#A_CN{0}".format(i) for i in range(1,101))
但更常见的是传递给列表
nodes = list("#A_CN{0}".format(i) for i in range(1,101))
所以我们最终得到与列表理解相同的结果。但是,如果您想要生成大约一百万个项目,则第二种形式非常有用。
答案 1 :(得分:1)
您省略了引号(或撇号)。而不是
nodes=[node{0}.format(i) for i in range(1,101)]
使用
nodes=["node{0}".format(i) for i in range(1,101)]