在列表中查找项目

时间:2019-10-22 11:00:37

标签: python list pycharm

试图制作一个总是从列表中的列表(至少从顶层列表)中找到两者的程序。这就是我到目前为止所拥有的。

List_Test = [[2]]

if 2 in List_Test:
    print("Found!")
elif 2 in List_Test[0][0]:
    print("Found in an inner list!")
elif 2 not in List_Test:
    print("Not Found.")

我不断提出

TypeError of : argument of type 'int' is not iterable 

我在做什么错?

2 个答案:

答案 0 :(得分:2)

您可以尝试遍历List_Test内部的所有元素

List_Test = [[2], 2, [1,3]]

def check(row):
    if type(row) == int:
        return "Found!" if row == 2 else "Not Found."
    elif type(row) == list and 2 in row:
        return "Found in an inner list!"
    else:
        return "Not Found."

print([check(row) for row in List_Test])

答案 1 :(得分:0)

考虑到列表中可以包含多个元素,请尝试以下代码。

def check_for_element(list_, element):
    for i in list_:
        if i == element:
            print("Found!")
            return
        elif type(i) is list and 2 in i:
                print("Found in an inner list!")
                return
    print("Not Found")

check_for_element([3, 7, [9], [3, 2, 4]], 2)

输出:

  

在内部列表中找到!

注意 elif 2 not in List_Test是多余的,不是必需的。