首页 > 编程源码 > 小白学Python之基础数据结构(集合)下

小白学Python之基础数据结构(集合)下

楼主:阿豪 [2级] · 2019-12-1 ·  浏览670 · 编程源码 · ID:

集合内置方法

集合和列表、字典、元组等一样,都提供了很多的内置方法。既然是集合,那我们先看下这张经典的韦恩图(Venn diagram):

具体的实现代码如下:

set1 = {1, 2, 3, 4, 5, 6}set2 = {4, 5, 6, 7, 7, 9}

# 求交集set3 = set1.intersection(set2)print('交集:', set3)

# 求并集set4 = set1.union(set2)print('并集:', set4)

# 做差set5 = set1.difference(set2)print('做差:', set5)

结果如下:

交集: {4, 5, 6}

并集: {1, 2, 3, 4, 5, 6, 7, 9}

做差: {1, 2, 3}set.add()

作用:为集合添加元素

set6 = {1, 2, 3}set6.add(4)print(set6)set6.add('python')print(set6)set6.add((1, 2))print(set6)

结果如下:{1, 2, 3, 4}

{1, 2, 3, 4, 'python'}

{(1, 2), 1, 2, 3, 4, 'python'}

set.update

作用:给集合添加元素set7 = {1, 2}set7.update({3, 4, 'python', (4, 5)})print(set7)

结果如下:{1, 2, 3, 4, 'python', (4, 5)}好像看起来 update() 和 add() 功能是一样的,区别在于 add() 参数只能是单个元素,而 update() 中的参数是一个 set 集合。set.pop()作用:随机移除元素。

set7.pop()

print(set7)

结果如下:{2, 3, 4, 'python', (4, 5)}随机删除,个人感觉功能可能有点没什么实际作用,毕竟是随机删除。

set.remove

作用:移除指定元素。相比较上面 pop() 的随机删除,在删除元素的时候更多的我们是使用的 remove() 或者下面我们将要介绍的 discard()。

set8 = {1, 2, 3, 4}

set8.remove(4)print(set8)

结果如下:{1, 2, 3}如果删除的元素不存在,则会直接报错。set8.remove(9)

结果如下:Traceback (most recent call last): File "F:/project/python-learning/base-data-set/Demo1.py", line 34, in set8.remove(9)

KeyError: 9set.discard

作用:删除集合中指定的元素,元素不存在则什么都不做。

set8.discard(9)print(set8)

结果如下:{1, 2, 3}

set.clear

作用:清除集合中的所有元素,并不会清除集合。set9 = {1, 2, 3}set9.clear()print(set9)

结果如下:set()

set.isdisjoint()

作用:判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

set10 = {1, 2, 3}
set11 = {1, 2}
set12 = {4, 5}
print(set10.isdisjoint(set11))
print(set10.isdisjoint(set12))

结果如下:FalseTrueset

.issubset

作用:判断指定集合是否为该方法参数集合的子集。print(set11.issubset(set10))print(set12.issubset(set10))

结果如下:TrueFalseset

.issuperset

作用:判断该方法的参数集合是否为指定集合的子集。print(set10.issuperset(set11))print(set10.issuperset(set12)

结果如下:TrueFalse

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者阿豪流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/18777.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
1条回复 |  最后回复于2019-12-1

[]

这是啥,看不懂
发布于2019-12-1

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
57人签到
已签0天
  • 46636帖子
  • 1936872热点量
  • 185006火热值