1、求交集
a = [3, 4, 5, 6]
b = [1, 4, 6, 8]
#以下几种方法是等效的
results_1= [x for x in b if x in set(a)]
print('results_1:',results_1)
results_2= list(set(a) & set(b))
print('results_2:',results_2)
results_3= list(set(a).intersection(b))
print('results_3:',results_3)
results_4 = list((set(a).union(set(b)))^(set(a)^set(b))) #不推荐,太麻烦
print('results_4:',results_4)
结果:
2、求并集
a = [3, 4, 5, 6]
b = [1, 4, 6, 8]
results_1= list(set(a).union(set(b)))
print('results_1:',results_1)
results_2= list(set(a) | set(b))
print('results_2:',results_2)
输出:
3、求补集(相对补集或差集)
a = [3, 4, 5, 6]
b = [1, 4, 6, 8]
#求b相对于a的补集,元素属于a但不属于b
results_1= [ i for i in a if i not in b ]
print('results_1:',results_1)
results_2= list(set(a).difference(set(b)))
print('results_2:',results_2)
results_3= set(a)-set(b)
print('results_3:',results_3)
输出: