32.集合

集合介绍

集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。

定义一个空集合

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']
原文地址:https://www.cnblogs.com/kangwenju/p/12791388.html