如何创建一个包含100个字符串的列表,这些字符串的名称是串联的

时间:2017-06-05 10:35:56

标签: python python-2.7 list

字符串对象列表就像

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)]

但是,这会引发错误!如何纠正这个?

2 个答案:

答案 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)]