取并集的函数set.union()的用法

 关键点是set.union()括号内的不能是list格式,必须转为set的格式。

a=[1,2,3,23]
b=[2,3,4]

set(a)&set(b)
{2, 3}

set(a)|set(b)
{1, 2, 3, 4}

set.union(*[{1,2,3,23},{2,3,4}])#正常出结果
{1, 2, 3, 4, 23}

set.union(*[[1,2,3,23],[2,3,4]])
#报错,descriptor 'union' requires a 'set' object but received a 'list'

#使用这个最关键的是union(),括号里面的应该是set的格式,而不应该是list的格式
[[1,2,3,23],[2,3,4]]
[{1,2,3,23},{2,3,4}]
#注意上面的两者的区别
如何把list的这种形式转为set的形式呢?对每个元素使用set()!!!

data2=[a,b]
Out[151]:
[[1, 2, 3, 23], [2, 3, 4]]

data3=[set(x) for x in data2]
data3
Out[153]:
[{1, 2, 3, 23}, {2, 3, 4}]#发生了变化
然后就可以正常使用set.union(*data)了。
set.union(*data3)
Out[161]:
{1, 2, 3, 4, 23}

猜你喜欢

转载自blog.csdn.net/lishangyin88/article/details/81567463
今日推荐