本文共 1019 字,大约阅读时间需要 3 分钟。
集合的特性是:无序,元素唯一
set(集合)和dict(字典)类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。所以集合经常被用来去重(消除在列表和元组中的重复元素)
要创建一个set,需要提供一个list作为输入集合(set方法的参数必须为 list、tuple和dict):
>>> sets=set([1,2,3,4]);>>> print(sets){1, 2, 3, 4}
集合也可以被for循环迭代遍历
>>>for i in sets:>>>print(i)1234
增加元素的操作:add()
>>>sets.add(5);>>>print(sets){1, 2, 3, 4, 5}
删除元素的操作
remove(),删除指定的某个元素>>>sets.remove(1);>>>print(sets){2, 3, 4, 5}
pop(), 随机移除集合中的元素
>>>sets.pop();>>>print(sets){3, 4, 5}
在集合中存在着修改的方法:将列表作为参数,将两个列表合二为一之后。共同形成的集合
>>>sets.update(['张三','李四'])>>>print(sets){'张三', '李四', 3, 4, 5}
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:交集 并集 补集 差集
>>>a=set([1,2,3])>>>b=set([2,3])
交集 &
>>>print(a&b){2, 3}>>>print(a.intersection(b)){2, 3}
并集 |
>>>print(a|b){1, 2, 3}>>>print(a.union(b)){1, 2, 3}
差集 -
>>>print(a-b){1}>>>print(a.difference(b)){1}
对称差集 ^
>>>print(a^b){1}>>>print(a.symmetric_difference(b)){1}
判断a是否为b的父集
>>>print(a.issuperset(b))True
转载于:https://blog.51cto.com/13770206/2304919