集合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()

 

posted on 2023-04-01 18:11  木去  阅读(97)  评论(0)    收藏  举报