集合set
集合可用用{}或set()来创建,但是空集合只能用set()创建,因为“{}”表示的是空字典。
集合中的元素是不可重复的且不可变的,因此将列表或元组转换为集合时,会自动去掉多出的重复数据。
集合中的元素必须是int、bool、str、tuple、None,不能是list和set。
创建集合
set1 = set() print(set1) # set()空集合 print(type(set1)) # <class 'set'> set2 = {2, 'a', 3.4, True} # print(set2) #{True, 2, 3.4, 'a'} print(type(set2)) #<class 'set'> set3 = set([1, 'a', 3.4]) #使用set()方法创建集合时,传入的参数必须是一个序列,且序列的元素要符合集合的元素数据类型 print(set3) #{1, 3.4, 'a'} print(type(set3)) #<class 'set'>
操作集合常用的方法:
(1)增加数据
add():向集合中添加数据,因为集合数据不可重复,因此如果添加的是集合中已存在的数据,则不进行任何操作。
set1 = {10}
print(set1) #{10}
set1.add(20)
print(set1) #{10, 20}
set1.add(10)
print(set1) #{10, 20}
update():将一个序列中的所有元素(集合中不存在的元素 )添加到集合中。传入的参数必须是一个序列。
set1 = {10}
print(set1) #{10}
set1.update([20])
print(set1) #{10, 20}
set1.update(['a', 10, 30])
print(set1) #{10, 20, 30, 'a'}
(2)删除数据
remove():删除集合中的指定数据,如果数据不存在则报错。
set1 = {10, 'b', 30, 'a'}
set1.remove(30)
print(set1) #{10, 'b', 'a'}
set1.remove('a')
print(set1) #{10, 'b'}
set1.remove(22) #KeyError: 22
discard():删除集合中的指定数据,如果数据不存也不会报错。
set1 = {10, 'b', 30, 'a'}
set1.discard(30)
print(set1) #{10, 'b', 'a'}
set1.discard('a')
print(set1) #{10, 'b'}
set1.discard(22) #不报错
print(set1) #{10, 'b'}
pop():随机删除集合中的一个元素,并返回这个元素。
set1 = {10, 'b', 30, 'a'}
del_item = set1.pop()
print(del_item) #10因为是随机删除,多次运行可能删除的元素不同
print(set1) #{'b', 'a', 30}
clear():清空集合的所有元素。
set1 = {10, 'b', 30, 'a'}
set1.clear()
print(set1) #set()
浙公网安备 33010602011771号