使用数字连接列表对象名并保留列表Python

时间:2013-05-30 22:29:04

标签: python python-2.7

我正在使用python 2.7我正试图想办法自动更改列表名称。

让我解释一下,我有多个清单

list1 = [1, 2, 3, 4, 5] 
list2 = [4, 5, 9, 3]
list3 = [8, 4, 3, 2, 1]

我想在循环中调用列表来确定哪些列表包含或不包含特定数字。

我的第一个想法是

x = "list" + str(i) # (where i iterates in the loop)
print x

但是,使用上面的代码只给了我字符串“list1”(当i = 1时)。

我想要的是能够调用名为list1的列表并使用.count()运算符来确定数字是否存在如果不存在我想要调用下一个列表直到我是超出列表(最终将有30个列表)。

谢谢,

赖安

2 个答案:

答案 0 :(得分:0)

你不应该像这样接近它。将您的列表放在容器中以反复遍历它们:

In [5]: for l in (list1, list2, list3):
   ...:     print l.count(2)
   ...:     
1
0
1

在真实用例中你可以做的是创建一个列表并动态填充它。

然后,要获取包含给定数字的第一个列表,您可以执行以下操作:

In [6]: lists = [list1, list2, list3]

In [7]: next(l for l in lists if 9 in l)
Out[7]: [4, 5, 9, 3]

答案 1 :(得分:0)

将列表放在dict中:

list1 = [1,2.4]
list2 = [2,5,6]
dlist = {1:list1,2:list2}
for k in dlist:
   print dlist[k]