我有一个程序创建的列表,并且根据是否存在值,我想要做进一步的事情。如果没有,我想pass
。
例如:
a=[1,2,3,4,5]
if a.index(6):
print "in"
我得到以下
Traceback (most recent call last):
File "c.py", line 6, in <module>
if a.index(6):
ValueError: 6 is not in list
如何在python列表中搜索值并在找到数字时执行某些操作?
答案 0 :(得分:3)
你可以做出这样的条件:
if "a" in list:
#do stuff
其中"a"
是您在列表中搜索的内容
如果您想按照自己的方式执行此操作,请尝试try/except
块,如下所示:
a=[1,2,3,4,5]
try:
#try this code
if a.index(6):
print "in"
except ValueError:
#do this if there is an error
pass
答案 1 :(得分:2)
您不应使用index
来测试列表中是否有内容。 index
假设您要搜索的项目已在列表中。此外(如你所知),如果它找不到它,它会抛出一个错误。而是使用in
关键字:
if value in lst:
# value was found in lst
查看示例:
>>> a = [1,2,3,4,5,6]
>>> 6 in a
True
>>> 7 in a
False
>>>
所以,你的代码应该是这样的:
a=[1,2,3,4,5]
if 6 in a:
print "in"
答案 2 :(得分:0)
if 6 in a:
in
测试遏制。 index
给出了您知道列表中的内容的索引。