我有一个清单[1,2,3,4,5,6,7,8,9,10,T1024] 我想检查值1.但是如果我做了...
if list.__contains__(1):
然后我会得到1,10,T1024。有一种简单的方法可以做到这一点。也许使用某种类型的正则表达式。 还要更快地执行“包含”而不是“for”循环吗?
全部谢谢,
答案 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