set_2 = frozenset(list_2)intersection = [x for x in list_1 if x in set_2]
set``frozenset我也越来越习惯于使用不可变的类来代替我的工作,而不打算使用它们来代替数据。关键是要维护顺序,您需要按照要维护的顺序遍历列表,但是您不希望天真的方法具有n* m的复杂性
[x for x in list_1 if x inlist_2]。
set与基于列表的成员资格的O(n)相比,检查基于哈希的类型或类似的成员资格大致为O(1)。



