检查python列表的最佳和有效方法

Sam*_*amy 0 python performance

上周我在接受采访时被问到这个问题,我没有答案(反正的答案).比如你有一个列表A,其中包含以下元素[1,3,5,7,9,10]然后你有列表B,它有以下元素:[3,4,5,6,7],并且您想知道列表B中的哪些元素在列表A中.我的答案是:

for item in listA:
    for item1 in listB:
        if item1 == item:
            put item1 in some third list
Run Code Online (Sandbox Code Playgroud)

但我知道这很糟糕,因为说listA是一百万个元素,而listB是十万个,这个解决方案只是垃圾.

没有迭代两个列表,实现这样的事情的最佳方法是什么?

Bre*_*arn 6

set(listA) & set(listB) 最简单.