我有一个列表 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, T1024] 我想检查值 1。但是如果我执行...
if list.__contains__(1):
然后我会得到1、10、T1024。有没有一种简单的方法可以做到这一点。也许使用某种类型的正则表达式。执行“包含”而不是“for”循环是否更快?
谢谢大家,
不,你不会明白的。
首先,这是一个列表,而不是字典。
其次,您在此处发布的是一个 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
运算符在应用于字符串时会检查子字符串。
您可以使用in
运算符检查列表成员资格:
if 1 in list:
此外,您应该清楚列表(您所拥有的 - 值的有序集合)和字典(键值对的无序集合)之间的区别
你说的是字典是一个列表,要检查列表中的给定值,我会这样做:
if 1 in myList:
doSomething
else:
doSomethingElse