如果匹配项目列表,返回列表的 T/F 列表的优雅方法是什么?
例如:
[1,3,5,4]
in
[4,3,7,5,8]
回报:
[True, True, False, True, False]
如果匹配项目列表,返回列表的 T/F 列表的优雅方法是什么?
例如:
[1,3,5,4]
in
[4,3,7,5,8]
回报:
[True, True, False, True, False]
测试集合中的成员资格是 O(1),而测试列表中的成员资格是 O(n)。所以(特别是对于一个大列表)你应该firstlist
在测试成员资格之前转换成一个集合。
firstset = set(firstlist)
[(v in firstset) for v in otherlist]
使用列表理解:-
>>> 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]
>>>
通过使用列表推导:
[(v in firstlist) for v in otherlist]