集合介绍
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
定义一个空集合
set1 = set() # 注意以下写法为一个空字典 set2 = {}
添加元素(add,update)
add
set1 = {1, 2, 4, 5} #添加元素 set1.add(8)
update
set1 = {1, 2, 4, 5} #是把要传入的元素拆分,做为个体传入到集合中 set1.update("abcd")
删除元素(remove,pop,discard)
remove
set1 = {1, 2, 4, 5} # 使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错 set1.remove(22)
pop
set1 = {1, 2, 4, 5} # 使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错 set1.pop()
discard
set1 = {1, 2, 4, 5} # 使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作 set1.discard(2)
例子1:
# 集合保存任意的数据类型(不能有可变的数据类型) # 集合是一个可变的数据类型 # 集合是无序的数据类型(不支持下标索引取值) # 01: 集合的定义 # 格式: 集合名 = {元素1, 元素2, ...} my_set = {1, 3.14, "hello"} print(my_set)
例子2:
# 02: 定义一个特殊的集合 -> 空集合 # my_set = {} 不存在 my_set = set() # 查看类型 # <class 'set'> print(type(my_set)) print(len(my_set))
例子3:
# 03: 添加元素(add,update) # 定义一个空集合 my_set = set() # add -> (list in append) my_set.add("123") print(my_set)
运行结果:
{'123'}
例子4:
# 03: 添加元素(add,update) # 定义一个空集合 my_set = set() # update -> (list in extend) my_set.update("123") print(my_set)
运行结果:
{'1', '2', '3'}
例子5:
# 04: 删除元素(remove,pop,discard) my_set = {1, 3.14, "hello"} # remove # 有则删除 无则报错 # 集合名.remove(元素值) my_set.remove(11) print(my_set)
例子6:
# 04: 删除元素(remove,pop,discard) my_set = {1, 3.14, "hello"} # pop 随机删除一个元素 # 集合名.pop() my_set.pop() print(my_set)
运行结果:
{3.14, 'hello'}
例子7:
# 04: 删除元素(remove,pop,discard) my_set = {1, 3.14, "hello"} # discard # 有则删除 无则不做任何处理 # 集合名.discard(元素值) my_set.discard(11) print(my_set)
运行结果:
{1, 3.14, 'hello'}
交集和并集( & 和 | )
交集
set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} new_set = set1 & set2 print(new_set) # {3, 4}
并集
set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} new_set = set1 | set2 print(new_set) # {1, 2, 3, 4, 5, 6}
例子1:
# 交集和并集 # 定义好了两个集合 my_set1 = {1, 2, 3, 4} my_set2 = {3, 4, 5, 6} # 交集 result1 = my_set1 & my_set2 print(result1) print(list(result1))
运行结果:
{3, 4}
[3, 4]
例子2:
# 定义好了两个集合 my_set1 = {1, 2, 3, 4} my_set2 = {3, 4, 5, 6} # 并集 result2 = my_set1 | my_set2 print(result2)
运行结果:
{1, 2, 3, 4, 5, 6}
例子3:
# 去重 my_set = {1, 3, 5, 1, 3, 3} print(my_set)
例子4:
# 列表 my_list = list("546787uyhgy78ijhgyuyhhujhghyu") # 转成集合 my_set = set(my_list) print(list(my_set))
运行结果:
['4', '8', 'u', 'j', '6', 'i', 'h', '5', 'g', 'y', '7']