Python3的set类型 - vip共享吧
  • 网站首页
  • IT技术笔记
    • Java教程
    • MySql数据库
    • PHP开发
    • Python教程
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 史上今日
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们


导航菜单
  • 网站首页
  • IT技术笔记
    • Java教程
    • MySql数据库
    • PHP开发
    • Python教程
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 史上今日
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们
Python

Python3的set类型

2024/9/6 韩俊  Python教程 735 0

Python 中有一个数据结构叫 set,set 和 dict 类似,也是一组 key 的集合,但不存储 value。

由于 key 不能重复,所以在 set 中没有重复的成员。

set 定义

set 的定义需要提供一个 list 作为输入集合。

myset = set([1, False, "老鸟python"])
print(myset)

set 中成员的特性和 dict 成员的 key 一样,必须是可以 hash 的。

myset = set([1, [1, 2], "老鸟python"])  # 错误,成员 [1, 2] 不可 hash
print(myset)

set 中成员重复的话,只有一个起作用,这和 dict 的 key 一样。

myset = set([1, 1, "老鸟python"])
print(myset  # set([1, '老鸟python']))

set 是无序的,不可以通过下标访问。

myset = set([1, 1, "老鸟python"])
print(myset[0])  # 错误

set 内部的数据结构是 hash 表,所以定义完成后,set 内部成员的存储顺序不一定是初始化的顺序。

myset = set(["a", "b", "c"])
print(myset  # set(['a', 'c', 'b']))

set 的常用函数

通过 set 提供的 add 函数可以添加成员到 set 中。

myset = set(["a", "b", "c"])
myset.add("d")
print(myset)

通过 set 提供的 remove 函数可以删除成员,但如果删除的成员不存在,python 会抛出异常;set 还有一个 discard 函数也可以删除成员,并且会自动处理异常。

myset = set(["a", "b", "c"])
myset.remove("b")
print(myset)
myset.remove("d")   # 抛出异常
myset.discard("d")  # 不做任何处理

set 的 pop 函数从集合中移除成员,并返回移除的成员,pop 函数删除成员是从内存中第一个成员依次删除。注意:Python解释器版本不同,分配内存的顺序不一定相同,也有的解释器每次执行时分配的内存分配的顺序也不同。

myset = set(["a", "b", "c"])
print(myset)  # 假定内存顺序为:set(['a', 'c', 'b'])
myset.pop()
print(myset)  # set(['c', 'b'])
myset.pop()
print(myset)  # set(['b'])

注意事项:set 是无序集合,所以不能通过下标访问 set 成员,set 里面的成员和 dict 的 key 一样,而无 dict 的 value,所以 set 的成员无法通过 set[] 来获取成员。

set 交集和并集运算

set 可以看成数学意义上的无序和无重复元素的集合,因此,两个 set 可以做数学意义上的交集,并集等操作。

myset_one = set([1, 2, 3, 4])
myset_two = set([2, 4, 6, 8])

myset_three = myset_one & myset_two
myset_four = myset_one | myset_two

print(myset_three)  # set([2, 4]))
print(myset_four)   # set([1, 2, 3, 4, 6, 8]))

本节重要知识点

set 的定义和函数使用。

set 进行交集和并集运算。

点赞:0 分享

上一篇
Python3的if条件判断
下一篇
mysql时间戳如何转换
作者头像 作者名称 作者性别
韩俊

热门推荐

1 python3闭包函数
2 Python3迭代
3 Python3的if条件判断
4 Python中urllib模块详解
5 python中itertools模块详解
6 Python3的list类型

评论列表

取消回复

    •  
      Login

      韩俊

      趁你现在还有时间,尽你自己最大的努力,努力做成你最想做的那件事,成为你最想成为的那种人,过着你最想过的那种生活。这个世界永远比你想的要更精彩,不要败给生活。

      退出登陆
      • 10072文章
      • 455评论
      • 80微语
  • 广告赞助

  • 二零二五年05月
    一二三四五六日
       1234
    567891011
    12131415161718
    19202122232425
    262728293031 
  • 分类

    • 网站模板源码
    • IT技术笔记
    • 好资源分享
    • 共享网络资源
  • 最新文章

      • 迷雾通:免费使用的VPN软件
        • 任推邦:打造你的赚钱新途径!
          • 任推邦是正规平台吗?任推邦邀请码多少?
            • 京东外卖商户入驻指南及详细入驻攻略
              • git教程及git常用命令指南
                • 女神过生日简短祝福语
                  • 三八祝福语简短优雅点
                    • 事业女性三八祝福语简短
  • 热门文章

    • 酷狗音乐VIP账号 酷狗音乐会员账号共享2017.01.29更新
    • 芒果tv vip会员账号 芒果tv会员账号共享2017.01.29更新
    • 爱奇艺vip账号 爱奇艺/PPS会员账号共享2016.12.12更新
    • 优酷/土豆vip会员账号 优酷会员账号共享2017.01.29更新
    • 活动:免费获得爱奇艺VIP/PPS会员账号50天以上的使用权!
    • 酷我音乐VIP账号 酷我音乐会员账号共享2016.12.31更新
    • 暴风影音会员账号 暴风影音会员账号共享2016.12.31更新
    • m1905会员账号 m1905会员账号共享2016.10.21更新
  • 最新评论

    • https://www.vipshare8.com/content/templates/meta/Static/images/tx/10.jpg

      你丫的 文章写得太好了 支持下!![F3...

    • https://www.vipshare8.com/content/templates/meta/Static/images/avatar.jpg

      很棒!刚在某网站看到这个,很欣赏,可惜下...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=3861064027

      呃呃呃 oooo

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了111:根据激活的时间有一年的有效期!

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=792480561

      到2025就到期了吗?

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      [blockquote]打卡时间:16:...

    • https://www.vipshare8.com/content/templates/meta/Static/images/tx/7.jpg

      俊哥,想借用迅雷一用!但需要手机验证!看...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=3293901900

      感谢大大的分享

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了好奥v:如果没有解析成功,可以切换接口...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=131241242441

      现在视频解析网站怎么用不了啦?

  • 网站统计 I 当前在线:647人

    • 本站管理:1位
    • 用户总数:591位
    • 置顶文章:2篇
    • 日志总数:10072篇
    • 微语总数:80条
    • 评论总数:455条
    • 标签总数:83条
    • 页面总数:8页
    • 分类总数:14个
    • 链接总数:16条
    • 运行天数:3675天
    • 最后更新:4月27日
    • 登录
    • 注册
    • 找回
    Copyright © 2025vip共享吧网站地图 网站备案豫ICP备19004194号-1

    免责声明:本站资源仅供用于学习和交流,本站部分素材内容来源于网络,如有侵权/投稿等,请及时联系站长.

    • 首页
    • 秒懂百科 秒懂百科
    • 搜索
    • 史上今日

    大家都在搜

    • 爱奇艺VIP账号共享
    • 2345网址导航
    • 电影抢先看
    • 设计素材
    • 百度文库下载
    • 秒懂百科
    • 优酷账号共享
    • seo
    • 喜马拉雅FM会员账号
    • 土豆vip账号
    • 百度云会员账号共享
    • JavaScript
    • Java教程
    • nginx
    • qq音乐vip账号共享
    • 网易云音乐会员
    • 
    • 