为什么这个for循环不会遍历数组中的所有列表

时间:2014-04-10 00:12:02

标签: python for-loop

我为循环编写了这个,但它没有显示预期的行为。

list_of_lists = [[1,2,3],[4,5,6]]

element = 4

for lst in list_of_lists:
    if lst.index(element):
        found = lst.index(element)
        print "success"
        print found
        break

期望的结果应该是循环给出found = list_of_lists [1] [0]。 但是,它只评估数组中的第一个列表而不是第二个列表。 如果搜索键在另一个中,则list_of_lists [0] 我得到的错误是。

   if lst.index(element):
ValueError: 4 is not in list

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这是因为它突破了for循环。只需删除该语句(并对if语句进行一些更改:

list_of_lists = [[1,2,3],[4,5,6]]
element = 4

for lst in list_of_lists:
    if element in lst:
        print lst.index(element)
        print "success"
    else:
        print "Not Contained"