两个list,并集、交集、差集

list1 = [1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5]
list2 = [5, 5, 6, 7, 8, 9]

set集合

差集--两种情况

print(list(set(list1) - set(list2)))
print(list(set(list2) - set(list1)))

两个差集的并集

print(list(set(list1) ^ set(list2)))

并集--去重后

print(list(set(list1) | set(list2)))

交集--去重后

print(list(set(list1) & set(list2)))

[1, 2, 3, 4]

[8, 9, 6, 7]

[1, 2, 3, 4, 6, 7, 8, 9]

[1, 2, 3, 4, 5, 6, 7, 8, 9]

[5]

列表推导式

差集--两种情况

print([i for i in list1 if i not in list2])
print([i for i in list2 if i not in list1])

交集

print([i for i in list1 if i in list2])

并集---没有去重

求出总和

summary_list = []
summary_list.extend(list1)
summary_list.extend(list2)

总和-交集= 并集

print([i for i in summary_list if i not in set(list1) & set(list2)])

[1, 2, 3, 4, 4, 4, 4, 4, 4]

[6, 7, 8, 9]

[5, 5, 5]

[1, 2, 3, 4, 4, 4, 4, 4, 4, 6, 7, 8, 9]

猜你喜欢

转载自www.cnblogs.com/hui-code/p/13206021.html