1. 集合的使用
集合 关键字set 特点:无序的不重复
list1 = [3,5,7,9,4,6,8,0,3]
# 去重,首先声明集合
s1 = set() #<class 'set'>
s2 = {} # 声明空的集合只能用第一种 #<class 'dict'>
2. 列表的快速去重
s3 = set(list1)
print(s3)
输出:
{0, 3, 4, 5, 6, 7, 8, 9}
3. 集合的添加
add
s1.add('hello')
s1.add('xiaoxiong')
s1.add('hellllll')
print(s1)
输出:
{'xiaoxiong', 'hello', 'hellllll'}
update:
t4 = ('ff','ss') #元组
s1.update(t4)
print(s1)
{'xiaoxiong', 'hellllll', 'hello', 'ss', 'ff'}
4. 集合的删除
remove()
s1.remove('ff')
print(s1)
输出:
{'ss', 'hellllll', 'hello', 'xiaoxiong'}
s1.clear()
print(s1)
输出:
set()
pop:
t4 = ('ff','ss') #元组
s1.update(t4)
print(s1)
s1.remove('ff')
print(s1)
s1.pop()
print(s1)
输出:
{'ss', 'hellllll', 'ff', 'hello', 'xiaoxiong'}
{'ss', 'hellllll', 'hello', 'xiaoxiong'}
{'hellllll', 'hello', 'xiaoxiong'}
discard
找不到的key值不会报错
```python
s1 = set()
s1.add('hello')
s1.add('xiaoxiong')
s1.add('hellllll')
t4 = ('ff','ss') #元组
s1.update(t4)
print(s1)
s1.discard('ff')
print(s1)
{'ff', 'xiaoxiong', 'ss', 'hello', 'hellllll'}
{'xiaoxiong', 'ss', 'hello', 'hellllll'}
5. 判断集合内容是否相等
不支持加号 乘号,可以用减号(差集)
set2 = {1,2,3}
set3 = {1,2,3}
print(set2 == set3)
True
6. 集合的减号和difference
set2 = {1,2,3}
set3 = {1,2,3,4,5}
set4 = set3 - set2
print(set4)
set5 = set3.difference(set2)
print(set5)
{4, 5}
{4, 5}
7. 集合的交集
set2 = {1,2,3}
set3 = {1,2,3,4,5}
set6 = set2 & set3
print(set6)
set7 = set2.intersection(set3)
print(set7)
{1, 2, 3}
{1, 2, 3}
8.集合的并集
set2 = {1,2,3,7,8}
set3 = {1,2,3,4,5}
set8 = set2 | set3
print(set8)
set9 = set2.union(set3)
print(set9)
{1, 2, 3, 4, 5, 7, 8}
{1, 2, 3, 4, 5, 7, 8}