0

我有一个程序正在创建的列表,并且根据是否存在值,我想做进一步的事情。如果没有,我想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 列表中搜索一个值并在找到该数字时执行某些操作?

4

3 回答 3

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
于 2013-09-29T21:46:49.983 回答
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"
于 2013-09-29T21:46:18.787 回答
0
if 6 in a:

in测试遏制。index给出你知道在列表中的东西的索引。

于 2013-09-29T21:46:28.693 回答