Python其他列表中列表中的任何项目

时间:2012-10-27 15:21:02

标签: python

如果匹配项目列表,返回列表的T / F列表的优雅方法是什么?

例如:

[1,3,5,4]
in
[4,3,7,5,8]

返回:

[True, True, False, True, False]

3 个答案:

答案 0 :(得分:4)

集合中的

Testing membership是O(1),而列表中的测试成员资格是O(n)。所以(特别是对于一个大的列表)你应该在测试成员资格之前将firstlist转换为一个集合。

firstset = set(firstlist)
[(v in firstset) for v in otherlist]

答案 1 :(得分:3)

使用列表理解: -

>>> list1 = [4, 3, 7, 5, 8]
>>> list2 = [1, 3, 5, 4]
>>> new_list = [elem in list2 for elem in list1]
>>> new_list
[True, True, False, True, False]
>>> 

答案 2 :(得分:2)

使用列表理解:

[(v in firstlist) for v in otherlist]