Python 集合
1. 集合介绍
2. 集合的常用操作
3. 集合间的运算
集合(set)是一个元素不可重复的无序的序列。
s = {1, "a", (1, 2)}
- 集合在创建时,会自动删除重复的元素。
- 可以使用花括号{}或set()函数创建集合。但注意若要创建空集合只能使用set(),因为{}默认创建的是空字典。
- 无法使用索引访问集合的元素。
- 集合的元素只能是不可变类型。
- 集合对象还支持union(联合),intersection(交),difference(差)、sysmmetric_difference(对称差集)等数学运算。
2. 集合的常用操作
创建
1 >>> # 方式一2 >>> {1, "a", "a", (1, 2)}
3 {1, 'a', (1, 2)}
4 >>> # 方式二:使用set()函数
5 >>> set() # 创建空集合
6 set()
7 >>> set({1, 2, 3}) # 传入集合
8 {1, 2, 3}
9 >>> set((1, 2, 3)) # 传入元组
10 {1, 2, 3}
11 >>> set({1:2}) # 传入字典,仅返回键
12 {1}
13 >>> set([1, 2]) # 传入列表
14 {1, 2}
15 >>> set("abc") # 传入字符串
16 {'c', 'a', 'b'}
17 >>> set("www")
18 {'w'}
copy():拷贝一个新的集合(新的内存地址)。
1 >>> s2 {1, 2, 3, 4}
3 >>> a = s.copy()
4 >>> a
5 {1, 2, 3, 4}
6 >>> s
7 {1, 2, 3, 4}
8 >>> id(a)
9 30777096
10 >>> id(s)
11 30776984
增
- add():s.add(x) 将对象x增加到集合s中,若已存在该元素,不进行任何操作。
- update():s.update(x) 也可以增加元素,x还可以是列表、元组、字典等(逐个拆解其元素增加到集合中),x可以为多个对象。
1 >>> s = {1, 2}2 >>> s.add(3)
3 >>> s
4 {1, 2, 3}
5 >>> s.add((4, 5)) # 添加一个元组作为元素
6 >>> s
7 {(4, 5), 1, 2, 3}
8 >>> s.update([6, 7]) # 拆解列表元素并添加
9 >>> s
10 {1, 2, 3, 6, 7, (4, 5)}
11 >>> s.add([6, 7]) # add()无法添加可变类型
12 Traceback (most recent call last):
13 File "<stdin>", line 1, in <module>
14 TypeError: unhashable type: 'list'
15 >>> s.update({11:10}) # 仅添加键
16 >>> s
17 {1, 2, 3, 6, 7, 11, (4, 5)}
18 >>> s.update((4, 5)) # 拆解元组元素并添加
19 >>> s
20 {1, 2, 3, 4, 5, 6, 7, 11, (4, 5)}
21 >>> s.update([20, 21], (22, 23)) # 传入多个对象
22 >>> s
23 {1, 2, 3, 4, 5, 6, 7, 11, (4, 5), 20, 21, 22, 23}
删
remove():s.remove(x) 将元素x从集合s中删除,若元素x不存在则返回异常。
discard():类似于remove(),但若元素不存在并不会返回异常。
pop():随机删除一个元素,并返回该元素。
clear():清空集合所有的元素。
1 >>> s = {1, 2, 3, 4, 5}2 >>> s.remove(5)
3 >>> s
4 {1, 2, 3, 4}
5 >>> s.remove(5) # 元素不存在,报错
6 Traceback (most recent call last):
7 File "<stdin>", line 1, in <module>
8 KeyError: 5
9 >>> s.discard(5) # 元素不存在,但不报错
10 >>> s
11 {1, 2, 3, 4}
12 >>> s.pop()
13 1
14 >>> s.clear()
15 >>> s
16 set()
3. 集合间的运算
1 >>> {1, 2} & {2, 3} # 交集。等价于 {1, 2}.intersection({2, 3})2 {2}
3 >>> {1, 2} | {2, 3} # 并集。等价于 {1, 2}.union({2, 3})
4 {1, 2, 3}
5 >>> {1, 2} - {2, 3} # 左集合元素不存在于右集合中的元素
6 {1}
7 >>> {1, 2} ^ {2, 3} # 左右集合不同时存在的元素
8 {1, 3}
以上是 Python 集合 的全部内容, 来源链接: utcz.com/z/387412.html