Python之集合操作举例

复制代码
# 集合的操作(Set、frozenset)
# 集合特点:无序、元素不可重复、执行效率高但是比列表占用空间大,空间换时间

s = {"a", "b", "c"}
s = set("abcd")
print(s)  # {'d', 'b', 'c', 'a'}
print("a" in s)  # True

for each in s:
    print(each)

# 比较两个集合是否完全不同
print(s.isdisjoint("hello"))  # True,完全不同

# 子集
print("子集:", s.issubset("abcdef"))  # True,是子集
print(s < set("abcdef"))

# 超集
print("超集:", s.issuperset("abc"))  # True,是超集
print(s > set("abc"))

# 并集,支持多参数
print("并集:", s.union("ef"))  # {'c', 'a', 'f', 'e', 'd', 'b'}
print(s | set("ef"))  # {'f', 'c', 'd', 'b', 'a', 'e'}

# 交集,支持多参数
print("并集:", s.intersection("abefg"))  # {'a', 'b'}
print(s & set("abefg"))  # {'a', 'b'}

# 差集,支持多参数
print("差集:", s.difference("abef"))  # {'c', 'd'} 只返回s中的差异元素
print(s - set("abef"))  # {'c', 'd'} 只返回s中的差异元素

# 对称差集
print("对称差集:", s.symmetric_difference("abef"))  # {'d', 'c', 'f', 'e'} 返回所有的差异元素
print(s ^ set("abef"))  # {'d', 'c', 'f', 'e'} 返回所有的差异元素

# 不可变集合
print(frozenset("abcd"))  # frozenset({'c', 'd', 'a', 'b'})

# 修改、添加元素(并集更新)
s = set("ab")
s.update("cc", "de")
print(s)  # {'d', 'b', 'e', 'c', 'a'}

# 添加一个元素
s.add("fg")
print("add:", s)  # {'a', 'c', 'd', 'fg', 'b', 'e'}

# 删除
s.remove("fg")  # 删除,不存在报错
s.discard("e")  # 删除,不存在不报错
print("删除:", s)  # {'a', 'c', 'b', 'd'}

# 随意弹出一个元素
print(s.pop())  # b

# 清空集合
s.clear()
复制代码

 

posted @   星瑞  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2020-01-14 Linux常用命令
2020-01-14 使用shell脚本批量下载FTP文件
2019-01-14 Bootstrap之图片展示界面Demo2
2019-01-14 Bootstrap之图片展示界面Demo
点击右上角即可分享
微信分享提示