文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python集合类型中set和frozenset是什么

2023-06-29 12:11

关注

这篇文章将为大家详细讲解有关Python集合类型中set和frozenset是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

集合类型-set, frozenset

set 对象是由具有唯一性的hashable 对象所组成的无序多项集。常见的用途包括成员检测、从序列中去除重复项以及数学中的集合类计算,例如交集、并集、差集与对称差集等等

两个类的构造器具有相同的作用方式:

集合可用多种方式来创建:

set 和frozenset 的实例提供以下操作:

len(s)

计算集合 s 元素个数

x in s

检测x是否为s中的成员

x not in s

检测x 是否非s 中的成员

isdisjoint(other)

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

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "facebook"}z = x.isdisjoint(y)print(z)
issubset(other)

用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False

x = {"a", "b", "c"}y = {"f", "e", "d", "c", "b", "a"}z = x.issubset(y)
issuperset(other)

用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。

x = {"f", "e", "d", "c", "b", "a"}y = {"a", "b", "c"}z = x.issuperset(y) print(z)

union(*others)

返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"}z = x.union(y) print(z)
intersection(*others)

用于返回两个或更多集合中都包含的元素,即交集。

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"}z = x.intersection(y) print(z)
difference(*others)

用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。

x = {"apple", "banana", "cherry"}y = {"google", "microsoft", "apple"}z = x.difference(y) print(z)
symmetric_difference(other)

返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"}z = x.symmetric_difference(y) print(z)
copy()

用于拷贝一个集合。

sites = {"Google", "Runoob", "Taobao"}x = sites.copy()print(x)

可用于set 而不能用于不可变的frozenset 实例的操作:

update(*others)

用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"}x.update(y) print(x)
intersection_update(*others)
x = {"apple", "banana", "cherry"}  # y 集合不包含 banana 和 cherry,被移除 y = {"google", "runoob", "apple"}x.intersection_update(y) print(x)
difference_update(*others)
x = {"apple", "banana", "cherry"}y = {"google", "microsoft", "apple"}x.difference_update(y) print(x)
symmetric_difference_update(other)

symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中

x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"}x.symmetric_difference_update(y) print(x)
add(elem)

用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。

fruits = {"apple", "banana", "cherry"}fruits.add("orange") print(fruits)
remove(elem)

用于移除集合中的指定元素。

fruits = {"apple", "banana", "cherry"}fruits.remove("banana") print(fruits)
discard(elem)

如果元素elem 存在于集合中则将其移除

fruits = {"apple", "banana", "cherry"}fruits.discard("banana") print(fruits)
pop()

从集合中移除并返回任意一个元素。如果集合为空则会引发KeyError。

fruits = {"apple", "banana", "cherry"}fruits.pop() print(fruits)
clear()

用于移除集合中的所有元素。

fruits = {"apple", "banana", "cherry"}fruits.clear()print(fruits)
关系运算
s_1024 = {"佩奇","老男孩","海峰","马JJ","老村长","黑姑娘","Alex"}s_pornhub = {"Alex","Egon","Rain","马JJ","Nick","Jack"}print(s_1024 & s_pornhub)  # 交集, elements in both setprint(s_1024 | s_pornhub)  # 并集 or 合集print(s_1024 - s_pornhub)  # 差集 , only in 1024print(s_pornhub - s_1024)  # 差集,  only in pornhubprint(s_1024 ^ s_pornhub)  # 对称差集, 把脚踩2只船的人T出去

关于“Python集合类型中set和frozenset是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯