检查列表中的值

时间:2012-09-12 07:14:12

标签: python list loops

我有一个清单[1,2,3,4,5,6,7,8,9,10,T1024] 我想检查值1.但是如果我做了...

if list.__contains__(1):

然后我会得到1,10,T1024。有一种简单的方法可以做到这一点。也许使用某种类型的正则表达式。 还要更快地执行“包含”而不是“for”循环吗?

全部谢谢,

3 个答案:

答案 0 :(得分:4)

不,你不会那样。

首先,这是一个列表,而不是字典。

其次,你在这里发布的是一个SyntaxError(除非T1024恰好是你之前定义的对象的名称)。

另外,正确的习语是

if 1 in mylist:

最后,不要将list用作变量名。


如果您已按照以下方式定义列表, 获得您所看到的结果:

mylist = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "T1024"]

如果您已经检查了"1",请执行以下操作:

for item in mylist:
    if "1" in item:
        print item

因为in运算符在应用于字符串时会检查子字符串。

答案 1 :(得分:3)

您可以使用in运算符检查列表成员资格:

if 1 in list:

此外,您应该清楚列表(您拥有的 - 有序的值集合)和字典(无序的键值对集合)之间的区别

答案 2 :(得分:1)

你说的是字典是一个列表,并检查列表中的给定值我会做:

if 1 in myList:
    doSomething
else:
    doSomethingElse