使用python列表进行错误处理

时间:2013-09-29 21:44:08

标签: python list indexing

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

3 个答案:

答案 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给出了您知道列表中的内容的索引。