Python基础(5)——集合set

集合set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

作用: 一般是对listtuple中的元素进行去重的,求交集、并集、差集等

set的一些常用操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 获得set
set1 = set([1, 2, 2, 3, 3, 3])
print(set1)
print(type(set1))
set2 = set((1, 2, 3, 1, 2, 3, 4, 5))
print(set2)
print(type(set2))
set3 = set({3, 4, 5, 5, 6, 3, 7})
print(set3)
print(type(set3))

# 添加
set4 = set([1, 2, 2, 3, 3, 3])
set4.add(55) # add() #可以添加重复的值,但是没效果

# set4.add([10, 9]) #直接报错,不能添加list
set4.add((10, 9))
# set4.add({'a':1}) #直接报错,不能添加字典
# 总结:list和dict是可改变的, 而tuple是不可改变
print(set4)

# 修改
set5 = set([1, 2, 3, 4, 5])
# 将list dict tuple 等等整个插入进去
set5.update([6, 7, 8])
set5.update({9 : 'a', 10 : 'b'}) #注意:插入字典时,是将key插进去
set5.update((11, 56))
print(set5)

# 删除
set6= set([1, 2, 3, 4, 5])
set6.remove(4)
print(set6)

# 遍历
set7 = set((231, 323.14, 'asddf', None, True))
for i in set7:
print(i)

# 交集 & 并集 | 差集 - 对称差 ^
set8 = set([1, 2, 3, 4])
set9 = set([3, 4, 5, 6])
set10 = set8 & set9
set11 = set8 | set9
print(set10)
print(type(set10))
print(set11)
print(type(set11))