关键点是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}