*************** 集合set类型 *****************
集合的定义
set = {}
set = {1,2,3}
set = {1,2,3,1,2,3}
set = {1,2,3,'hello'}
set = {1,2,3,'hello',(1,2,3)}集合不重复:
列表转化为:
示例:
set的应用场景
集合是一个无序的,不重复的数据组合。
集合可去除列表中重复的元素。集合有其他数据类型没有的属性,即关系测试,包含交集、差集、并集、是否为子集、是否为父集等方法。
集合的关系测试操作
交集: list_1.intersection(list_2)list_1.intersection_update(list_2) --list_1等于交集
并集: list_1.union(list_2)
差集: list_1.difference(list_2)
list_2.difference(list_1)list_1.difference_update(list_2) --list_1更新为差集
对等差分 list_1.symmetric_difference(list_2)
子集 list_1.issubset(list_2) --list_1是list_2的子集
父集 list_1.issuperset(list_2) --list_1 是list_2的父集
有无交集 list_1.isdisjoint(list_2) 若无交集返回True,有交集返回False交集: list_1 & list_2
并集: list_1 | list_2
差集: list_1 - list_2
list_2 - list_1
对等差分 list_1 ^ list_2
4.集合的添加
s.add(1)
在集合中添加一项
s.update([1,3,4])
在集合中添加多项,跟的参数应该是可迭代类型
5.集合的删除
s.remove(1) 1表示元素‘1’
删除集合中指定的元素
s.pop()
随机删除集合中的某个元素,并返回删除的元素
s.clear()
清空集合的所有元素over!
del(list_1) 删除集合
6.集合的其他操作
len(s)
显示集合set的长度
"1" in s
检测某元素是否为集合s的成员,返回布尔值集合的其他操作
s.copy()
集合的浅拷贝,此处不深入研究,后面会说
本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1947721