python集合

it2023-08-07  68

python集合

集合基本知识1、可变集合的定义2、不可变集合的定义3、 基本运算

如果说元组是列表和字符串的某些特征的杂合,那么集合则可以看成列表和字典的某些特征的杂合


集合基本知识

1、可变集合的定义

集合中元素需为不可变元素。

>>> s = set([1,5,9,1,52,6,1,2]) >>> s {1, 2, 5, 6, 9, 52} >>> type(s) <class 'set'> >>> s2={'python',2,4,6} >>> type(s2) <class 'set'>

基本方法:

方式说明add()在集合中添加元素pop()默认删除第一个元素 并返回删除元素的值remove()删除指定元素,如元素不存在,会报错discard()删除指定元素,如元素不存在,不会报错 >>> s.add(777) # 在集合中添加元素 >>> s {1, 2, 5, 6, 9, 777, 52} >>> s.pop() # 默认删除第一个元素 并返回删除元素的值 1 >>> s {2, 5, 6, 9, 777, 52} >>> s.remove(52) >>> s {2, 5, 6, 9, 777} >>> s.discard(2) >>> s {5, 6, 9, 777} >>> s.discard(2) # 删除指定元素,如元素不存在,不会报错 >>> s.remove(2) # 删除指定元素,如元素不存在,会报错 Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> s.remove(2) KeyError: 2

2、不可变集合的定义

>>> f_s = frozenset('adgezvgh') >>> f_s frozenset({'z', 'a', 'e', 'g', 'h', 'v', 'd'})

3、 基本运算

方式说明issuperset()超集:集合S2中的每一个元素都在集合S1中,且S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集issubset()子集:超集的条件反过来,S2是S1的子集。union()并集intersection()交集difference()差集 >>> s = set([1,2,3,4,5]) >>> y = set([1,2,3]) >>> s.issuperset(y) True >>> y.issubset(s) True >>> s.issubset(y) False # 并集 >>> s.union(y) {1, 2, 3, 4, 5} >>> s | y {1, 2, 3, 4, 5} # 交集 >>> s.intersection(y) {1, 2, 3} >>> s & y {1, 2, 3} #差集 >>> s.difference(y) {4, 5} >>> s - y {4, 5} >>>
最新回复(0)