Python基础语法(11)集合
目录
Python基础语法(11)集合
学习目标
- 创建集合
- 集合数据的特点
- 集合的常见操作
创建集合
创建集合可以使用{}或者是set(),但是如果要创建空集合则不能用{},因为{}是用来创建空字典的,空集合只能使用set()函数。
⚠️注意:集合里的数据是没有重复的,如果数据序列不允许内部数据有重复,则使用集合。
|
|
集合数据的特点
- 集合时天生去重(没有重复数据)。
- 集合无序(不能进行排序,元素存在字符时顺序会变化)不能使用下标取值。
- 集合在元素均为数字时失去无序性,但仍不能使用下标查找。(存疑)
集合常见方法
增加数据
-
add():用来增加单个单一数据。如:1、99、-1、0、“11”、“abcd”、“a”等。
1 2 3 4 5 6 7
s1 = {1, 2, 3, 4, 5} print(s1) # {1, 2, 3, 4, 5} s1.add(1) # 集合为可变类型 print(s1) # {1, 2, 3, 4, 5},如果插入的数据已存在,集合会去重,不进行任何操作 s1.add(99) print(s1) # {1, 2, 3, 4, 5, 99} s1.add([1,2,3]) # 报错
⚠️注意:因为集合有去重功能,所以,向集合内追加数据是当前集合已有的数据的话,则不进行任何操作。
-
update():用来增加一个数据序列。
1 2 3 4
s1 = {1, 2, 3, 4, 5} s1.update([3,4,5,6,7]) # 可以追加字符串、列表、元组、字典,是字符串时会依次加入字符,是字典时会加入key print(s1) # {1, 2, 3, 4, 5, 6, 7} s1.update(1) # 报错,不能追加当个单一数据。
删除数据
-
remove():删除集合中的指定当个数据,如果数据不存在则报错。
1 2 3 4 5
s1 = {1, 2, 3, 4, 5} s1.remove(1) print(s1) # {2, 3, 4, 5} 数据存在,删除 s1.remove(9) print(s1) # 数据不存在,报错
-
discard():删除集合中的指定数据,如果数据不存在不会报错。
1 2 3 4 5
s1 = {1, 2, 3, 4, 5} s1.discard(1) print(s1) # {2, 3, 4, 5} 数据存在,删除 s1.discard(9) print(s1) # {2, 3, 4, 5} 数据不存在,不报错
-
pop():随机删除某个数据,并返回这个数据。
1 2 3 4
s1 = {9, 2, 3, 4, 5} num = s1.pop() print(num) # 2 print(s1) # {3, 4, 5, 9}
查找数据
-
in:判断数据在集合序列,如果在返回True,不在返回False。
1 2 3
s1 = {9, 2, 3, 4, 5} print(10 in s1) # False print(9 in s1) # True
-
not in:判断数据不在集合序列,如果不在返回True,在返回False。
1 2 3
s1 = {9, 2, 3, 4, 5} print(10 not in s1) # True print(9 not in s1) # False
总结
- 创建集合:创建有数据集合时使用{};创建无数据集合时使用set()。
- 集合的特征:无序,去重,无下标操作。
- 常见操作:
- add():增加单个单一数据。
- update():增加一个数据序列。
- remove():删除匹配的指定数据,存在则删除,不存在则报错。
- discard():删除匹配的指定数据,存在则删除,不存在不会报错,返回原集合。
- pop():随机删除某个数据,并返回该数据。
- in:判断数据在这个集合。
- not in:判断数据不在这个集合。