给出一个列表A
列表,其中最多有一层嵌套,以及一个要搜索的元素......
A = [1,2,3,[4,5,6,7],8,9,10]
to_find = 5
检查A
中是否存在值为5的元素的最快方法是什么?列表不会被排序,元素的索引无关紧要。
我可以遍历A
并检查元素是否为列表,然后以递归方式检入。
有没有更好更快的方法呢?
答案 0 :(得分:0)
鉴于“列表清单”和“最多一层嵌套”的条件:
def search(A, to_find):
return any(1 for x in A if (x == to_find or (isinstance(x, list) and to_find in x)))
(编辑以防你碰巧寻找像0这样的假值)