【SET】集合

定义:

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

集合默认去重,元素类型不统一

  • 如何创建集合

创建集合:
1. 变量名 = set(元素) 字符串 / 列表 / 元祖 / 字典
2. 变量名 = {元素,元素,元素......} 元祖/ 字符串 / 数字
3. 元素是唯一的,用于列表和元祖的去重

 

集合的使用方法

 

【1】集合的创建和数据去重:

s1 = set("1234251")  # 拆分字符串每一个元素,然后去重无序汇总
print(s1)        # {'4', '3', '2', '5', '1'}
s2 = set([1, 2, 3, 4, 5, 2, 1])  # 拆分列表每一个元素,然后去重汇总
print(s2)        # {1, 2, 3, 4, 5}
s3 = set((1, 3, 5, 2, 4, 1, 2))  # 拆分元祖每一个元素,然后去重汇总
print(s3)        # {1, 2, 3, 4, 5}
# 定义字典
d = {
    "name": "帅帅",
    "age": 21,
    "hobby": "打羽毛球"
}
s = set(d) # 拆分字典每一个元素,然后拿出键值进行汇总
print(s)   # {'name', 'age', 'hobby'}
复制代码
# 使用大括号创建集合
s1 = {1, 2, 3, (1, 2, 3), "123"}    # 创建集合,普通的变量,元祖,字符串,使用大括号是可行的
print(s1)           # {1, 2, 3, (1, 2, 3), '123'}
# s2 = {[1, 2, 3]}  # 报错:创建集合,字典/列表 使用大括号是不可行的
# s3 = {d}          # 报错:创建集合,字典/列表 使用大括号是不可行的
# 集合本身/列表/元祖/字典/字符串的去重
s1 = {1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5}         # {1, 2, 3, 4, 5} 
print(s1)
s2 = set([1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5]) # {1, 2, 3, 4, 5}
print(s2)
s3 = set(1, 2, 3, 4, 5, 1, 2, 4, 2, 3, 5)     # {1, 2, 3, 4, 5}
print(s3)
di = {
    "姓名": "帅帅",
    "姓名": "杨超"
}
s4 = set(di)
print(s4)       # {'姓名'}
s5 = set("1234512323")
print(s5)        # {1, 2, 3, 4, 5}
复制代码

【2】集合添加元素的方法  集合的排列是随机排列的:

复制代码
# add() 往集合中可以添加 数字/字符串/元祖   update() 可以将集合合并
s = {1, 2, 3}
# s.add(6)             # {1, 2, 3, 6}
# s.add("帅帅")         # {1, 2, 3, '帅帅', 6}
# s.add((1, 2, 3))     # {1, 2, 3, '帅帅', 6, (1, 2, 3)}
b = {"a", "b", "c"}
s.update(b) # 谁把谁合并,调用方集合合并,被调用方保持不变
print(s)    # {1, 2, 3, 'b', 'c', 'a'}
print(b)    # {'b', 'c', 'a'}
复制代码

【3】集合删除元素的方法:

定义:

  • remove() 使用remove删除集合中的元素,如果有直接删除,如果没有程序报错;
  • pop() 使用pop删除是随机删除集合汇总的元素,如果集合没有程序报错;
  • discard() 使用discard删除集合中的元素,如果元素不存在不做任何操作!

 

s = {1, 2, 3, "帅帅", "学习", "python"}
# s.remove("帅帅")  # {1, 2, 3, '学习', 'python'}
element = s.pop()
print("随机删除的值:", element, "集合本身:", s)   # 随机删除的值: 学习 集合本身: {1, 2, 3, 'python', '帅帅'}
s.discard("学习啦")    # 元素不存在不会报错
print(s)              # {2, 3, '帅帅', '学习', 'python'}

 

【4】集合交集和并集:

定义

 

  • 交集:使用 & 符号连接多个集合,得到相同的元素;
  • 并集:使用 | 符号连接多个集合,得到集合中的全部元素

 

# 本质还是集合 set ,所以交集和并集求解之后,元素的数据自动去重展示
s1 = {1, 2, 3, 4}
s2 = {1, 2, 6, 7}
print("s1和s2的交集:", s1 & s2)     # {1, 2}
print("s1和s2的并集:", s1 | s2)     # {1, 2, 3, 4, 6, 7}

 

# 空集合
s = set()
print(s)        # set()

 

posted @   帅帅的编程之路  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示