摘要:本文主要介绍了集合的概念和基本操作。

1、集合的基本知识

  • 可以用{  }和set()两种方式创建
  • 无序
  • 不重复
 1 # 1. 创建有数据的集合
 2 s1 = {10, 20, 30, 40, 50}
 3 print(s1)
 4
 5 s2 = {10, 30, 20, 40, 30, 20}
 6 print(s2)
 7
 8 s3 = set('abcdefg')
 9 print(s3)
10
11 # 2. 创建空集合: set()
12 s4 = set()
13 print(s4)
14 print(type(s4))
15
16 s5 = {}
17 print(type(s5))

 执行结果如下:

1 {40, 10, 50, 20, 30}
2 {40, 10, 20, 30}
3 {'g', 'f', 'd', 'a', 'e', 'c', 'b'}
4 set()
5 <class 'set'>
6 <class 'dict'>

2、数据增加

主要借助 add()和update()

 1 s1 = {10, 20}
 2 # 1. 集合是可变类型
 3 # add() 增加单一数据
 4 s1.add(100)
 5 print(s1)
 6
 7 # 集合有去重功能,如果追加的数据是集合已有数据,则什么事情都不做
 8 s1.add(100)
 9 print(s1)
10
11 # s1.add([10, 20, 30])  # 报错
12 # print(s1)
13
14 # update(): 增加的数据是序列
15 s1.update([10, 20, 30, 40, 50])
16 print(s1)
17
18 # s1.update(100)  # 报错
19 # print(s1)

执行结果:

1 {100, 10, 20}
2 {100, 10, 20}
3 {100, 40, 10, 50, 20, 30}

3、数据删除

主要有remove()、pop()、discard()三种操作。

 1 s1 = {10, 20, 30, 40, 50}
 2
 3 # remove(): 删除指定数据,如果数据不存在报错
 4 s1.remove(10)
 5 print(s1)
 6
 7 # s1.remove(10)  # 报错
 8 # print(s1)
 9
10 # discard():删除指定数据,如果数据不存在不报错
11 s1.discard(10)
12 print(s1)
13 s1.discard(10)
14 print(s1)
15
16 # pop(): 随机删除某个数据,并返回这个数据
17 del_num = s1.pop()
18 print(del_num)
19 print(s1)

执行结果如下:

1 {40, 50, 20, 30}
2 {40, 50, 20, 30}
3 {40, 50, 20, 30}
4 40
5 {50, 20, 30}

4、数据查找

主要借助 in 和not  in来进行操作:

1 s1 = {10, 20, 30, 40, 50}
2
3 # in 或not in 判断数据10是否存在
4 print(10 in s1)
5
6 print(10 not in s1)

执行结果如下:

1 True
2 False
01-10 03:33