list的集合运算,可以先把list转化为集合,然后在用集合的运算法则
1.如下所示:俩个列表a,b
>>> a = ["1","2","3","4","5"]
>>> b = ["4","5","6","7","8"]
2. 将列表转化为集合
>>> aset=set(a)
>>> bset=set(b)
>>> aset
set(['1', '3', '2', '5', '4'])
>>> bset
set(['8', '5', '4', '7', '6'])
3. 集合操作
- (1) 交集
>>> aset & bset
set(['5', '4'])
- (2) 并集
>>> aset | bset
set(['1', '3', '2', '5', '4', '7', '6', '8'])
- (3) 差集
>>> aset - bset
set(['1', '3', '2'])
>>> bset - aset
set(['8', '7', '6'])
- (4) 元素是否在集合中
>>> 1 in aset
False
>>> "1" in aset
True
- (5) 非共同拥有元素
>>> aset ^ bset
set(['1', '3', '2', '7', '6', '8'])
- (6) 是否包含
>>> aset > bset
False
>>> aset < bset
False
>>> cset = aset & bset
>>> cset < aset
True
>>> cset > aset
False
- (7) 添加/删除元素
>>> cset
set(['5', '4'])
>>> cset.add("4")
>>> cset
set(['5', '4'])
>>> cset.add("10")
>>> cset
set(['10', '5', '4'])
>>> cset.remove("11")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: '11'
>>> cset.remove("10")
>>> cset
set(['5', '4'])
>>> cset.union(["12","13"])
set(['13', '12', '5', '4'])
注意:由于集合不能有相同的元素,则集合中添加集合中有的元素,集合不会有变化。
集合中不能删除没有的元素
- 持续更新中。。。
3 集合转化为列表
>>> list(cset)
['5', '4']
完。