集合
集合是一种容器,在Python中的含义与数学中的含义相同,包含“互异性”,“无序性”,“确定性”三要素。他可以动态的向里面添加或删除元素。
-
区别
列表的字面量使用的是方括号[] 元组的字面量使用的是圆括号() 集合的字面量使用的是大括号{}
eg:
python {'apple','orange','pear','banana'}
-
增
1. 使用{}建立函数
fruit={'apple','orange','pear','banana'}
2. 使用set()创建一个空集合
emp=set()
3. 使用set()将列表转换成集合
emp=set([1,1,2,3])
4. 将列表推导式转换成集合
emp=set([x*2 for x in range(1,100)]) #200以内偶数
-
删 & 改
s={2,2,3,5,7,11}
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
| len() | len(s) | 5 | 返回集合中元素个数 |
| min() | min(s) | 2 | 返回集合中最小的元素 |
| max() | max(s) | 11 | 返回集合中最大的元素 |
| sum() | sum(s) | 28 (2+3+5+7+11 | 将集合中的所有元素相加 |
| add() | s.add(111) | 将一个元素加入集合中 | |
| remove() | s.remove(3) | 从集合中删除一个元素,如果集合中没有则抛出KEYERROR异常 |
-
算
- 集合之间的关系
| 函数 | 示例 | 结果 | 说明 |
|---|---|---|---|
| in | 3 in s | TRUE | 元素是否在集合中,返回bool |
| not in | 13 not in s | TRUE | 元素是否不在集合中,返回bool |
| S.issubset(s) | s1.issubset(s2) | TRUE /FALSE | 判断s1是否是s2的子集,返回bool值 |
| S.issuperset(s) | s2.issuperset(s1) | TRUE /FALSE | 判断s2是否是s1的超集,返回bool值,恰好与issubset相反 |
| == | s1={2,3,5,7} s2={2,3,5,7} print(s1==s2) | True | 判断s1和s2是否完全相同 |
| != | s1={2,3,5,7} s2={2,3,5,7} print(s1!=s2) | False | 判断s1和s2是否存在不同 |
| < | s1={2,3,7} s2={2,3,5,7} print(s1<s2) | True | 判断s1是s2真子集 |
| <= | s1={2,3,5,7} s2={2,3,5,7} print(s1<=s2) | True | 判断s1是s2子集 |
| > | s1={2,3,5,7,9} s2={2,3,5,7} print(s1>s2) | True | 判断s1是s2真超集 |
| >= | s1={2,3,5,7} s2={2,3,5,7} print(s1>=s2) | True | 判断s1是s2超集 |
- 集合的运算
s1={2,3,5,7,11}
s2=
| 运算 | 函数 | 运算符 | 示例 | 结果 | 说明 |
|---|---|---|---|---|---|
| 并集 | union() | s1 | s2 | ||
| 交集 | intersection() | & | s1&s2 | 两个集合中的元素只要公共部分 | |
| 差集 | difference() | - | s1-s2 | s1中有s2中没有的元素 | |
| 对称差 | symmertric_difference() | ^ | s1^s2 | 除了共同元素之外的所有元素 |

浙公网安备 33010602011771号