搜索列表和元素列表

时间:2015-11-10 22:40:33

标签: python list membership

给出一个列表A列表,其中最多有一层嵌套,以及一个要搜索的元素......

A = [1,2,3,[4,5,6,7],8,9,10]
to_find = 5

检查A中是否存在值为5的元素的最快方法是什么?列表不会被排序,元素的索引无关紧要。

我可以遍历A并检查元素是否为列表,然后以递归方式检入。

有没有更好更快的方法呢?

1 个答案:

答案 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这样的假值)