试图制作一个总是从列表中的列表(至少从顶层列表)中找到两者的程序。这就是我到目前为止所拥有的。
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
我在做什么错?
答案 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
是多余的,不是必需的。