Python3 的数据类型5-集合

2019-03-07  本文已影响0人  RaoZC

集合是一个无序不重复序列。

1. 集合创建

集合用大括号{}或set()创建。空集必须用set()来创建,而不能用{},因为{}用来创建空字典。
集合与字典都是用大括号{}包围,不同点在于,集合里面的元素并非成对,只是一个个独立值,而字典里是键值:值对,即:

>>>a={"key1":"value1","key2":"value2"}      字典
>>>b={value1,value2}                        集合

2. 集合运算

其实与数学的集合运算一样,因为是无序的,因此集合的加减不是值与值的加减,只是集合里值得增减,例如:

>>>a=set('abcdefabc')
>>>b=set('abcd')
>>>a
{'a', 'b', 'c', 'd', 'e', 'f'}        后面重复的abc删掉了
>>>a-b
{'e', 'f'}
>>>a|b        a与b并集
>>>a&b      a与b交集
>>>a^b      不同时包含a和b的元素,a交b的补集

3. 集合操作

序号 操作 描述
1 s.add(x) 增加元素x
2 s.remove(x) 删除元素x,没有x则发生错误
3 s.discard(x) 删除元素x,没有x也不会发生错误
4 s.pop() 脚本模式随机删除一个元素,交互模式删除最后一个元素?
5 len(s) 计算集合长度
6 s.clear 清空集合
7 x in s 判断x是否在s中

4. 集合方法

序号 方法 描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 删除集合中的元素,该元素在指定的集合中不存在。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素

参考:Python3 菜鸟教程

上一篇 下一篇

猜你喜欢

热点阅读