set是用来去重的。
在list里使用union函数。这种方式不适用于元素为字典的。
list(set(a)^set(b)) 这是求差集
所以交集就是并集和ab的差集。
import random def getRand(n): return [random.randint(0,100) for i in range(int(n))] a = getRand(10) b = getRand(10) print(a) print(b) c = list(set(a).union(set(b))) print("ab的并集是:") print(c) print("ab的交集是:") d = list( (set(a).union(set(b))) ^ set(a) ^ set(b)) print(d)
列表生成式
emmm...记得函数和函数之间空两行,被教育了
import random def getRand(n): return [random.randint(0,100) for i in range(int(n))] def union(a,b): return [x for x in set(a+b)] def inter(a,b): return [x for x in set(a) if x in set(b)] def main(): a = getRand(10) b = getRand(10) a = list(set(a)) b = list(set(b)) c = union(a,b) d = inter(a,b) print(a) print(b) print("并集是:") print(c) print("交集是:") print(d) main()
本文详细介绍了如何使用Python的集合操作进行去重、求并集、交集和差集,通过实例演示了列表生成式的应用。文章通过定义函数getRand()生成随机数列表,再利用集合的特性进行数学集合运算,最后展示了如何使用列表生成式实现相同的集合操作。

4776

被折叠的 条评论
为什么被折叠?



