例如,如果我有:
a = [20,30,56,78,99]
b = [10,20,40,56,99]
我可以使用哪些内容来搜索2个列表,获取值20
,56
和99
?
注意:我无法使用此功能。
答案 0 :(得分:2)
Python集是一种干净,简单的方法:
>>> a = [20,30,56,78,99]
>>> b = [10,20,40,56,99]
>>> set(a) & set(b)
set([56, 99, 20])
如果您不能使用它们,可以使用词典完成相同的操作:
>>> d = dict.fromkeys(b)
>>> for k in a:
if k in d:
print k
20
56
99
如果元素不可清除,只需进行直接包含测试:
>>> for k in a:
if k in b:
print k
20
56
99
答案 1 :(得分:2)
你可以使用集合:
a = [20, 30, 56, 78, 99]
b = [10, 20, 40, 56, 99]
print set(a) & set(b)
打印
set([56, 99, 20])
您希望得到的结果。
答案 2 :(得分:1)
values = [x for x in a if x in b] # note that this allows for duplicates
但实际上,只需使用套装。