Python中的set方法如何使用

一、序言

在python中,set是一种集合数据类型,表示一个无序且不重复的集合。set()方法可以用于创建一个空的集合,也可以将其他可迭代对象转换为集合。与其他python数据类型不同,set没有索引,不能通过索引访问其元素,但可以使用一些方法来操作和访问集合中的元素。创建一个空集合使用set()方法

二、常用set()方法详解

1.add():添加一个元素到set集合中

# add()语法如下:set.add(elmnt)# 案例如下:set1 = {1,2,3}set1.add(4)print(set1)# 输出结果如下{1, 2, 3, 4}

登录后复制

2.clear():从set集合中移除所有元素

# clear()语法如下:set.clear()# 案例如下:set1 = {1, 2, 3}set1.clear()print(set1)# 输出结果如下:set()

登录后复制

3.copy():用于拷贝一个集合,使用copy()方法创建的副本是原始集合的一个完整副本,对复制后的集合进行操作不会影响原始集合。

# 语法如下:new_set = old_set.copy()# 案列如下:set1 = {1, 2, 3}set2 = set1.copy()set2.add(4)print(set1)print(set2)# 输出结果如下:{1, 2, 3}{1, 2, 3, 4}# 首先,我们创建了一个原始集合,然后使用copy方法创建了一个新集合,并在新集合中添加了一个元素4,# 最后,我们打印了原始集合和复制出的新集合,可以看到两个集合互不影响。

登录后复制

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

立即学习“Python免费学习笔记(深入)”;

# 语法如下:set1.difference(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}print(set1.difference(set2))# 输出结果如下:{1}

登录后复制

5.difference_update() :方法用于移除两个集合中都存在的元素

difference_update() 方法与 difference() 方法的区别在于 difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素,没有返回值。

# 语法如下:set1.difference_update(set2)# 案例如下:set1 = {1, 2, 3, 4, 5}set2 = {2, 3, 4}set1.difference_update(set2)print(set1)# 输出结果如下{1, 5}

登录后复制

6.discard() 方法语法:discard() 方法用于移除指定的集合元素。

该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

# 语法如下:set.discard(value)# 案例如下set1 = {1, 2, 3}set2 = {2, 3, 4}set1.discard(2), set2.discard(3)print(set1, set2)# 输出结果如下:{1, 3} {2, 4}# 删除不存在元素,不会引发任何异常set1.discard(4)print(set1)# 输出结果如下{1, 2, 3}

登录后复制

7.intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。

# 语法如下:set1.intersection(set2, set3, ...)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set3 = set1.intersection(set2)print(set3)# 输出结果如下:{2, 3}

登录后复制

8.intersection_update()方法用于获取两个或更多集合中都重叠的元素,即计算交集。

intersection_update() 方法不同于 intersection() 方法,因为 intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。

# 语法如下:set1.intersection_update(set2, set3, ...)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set1.intersection_update(set2)print(set1)# 输出结果如下:{2, 3}

登录后复制

9.isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

# 语法如下:set1.isdisjoint(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set3 = {4, 5, 6}print(set1.isdisjoint(set2))print(set3.isdisjoint(set1))# 输出如果如下:FalseTrue

登录后复制

10.issubset() 方法用于判断一个集合是否是另一个集合的子集。如果一个集合的所有元素都包含在另一个集合中,如果是则返回 True,否则返回 False

# 语法如下:set1.issubset(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set3 = {1, 2, 3, 4}print(set1.issubset(set2))print(set1.issubset(set3))# 输出结果如下:FalseTrue

登录后复制

11.issuperset() 方法用于判断一个集合是否是另一个集合的超集。如果一个集合包含另一个集合的所有元素,则该集合是另一个集合的超集,issuperset()方法返回True;否则返回False。

# 语法如下:set1.issuperset(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set3 = {1, 2, 3, 4}print(set1.issuperset(set2))print(set3.issuperset(set1))# 输出结果如下:FalseTrue

登录后复制

12.pop() 方法用于随机移除一个元素并返回该元素的值。

# 语法如下:set.pop()# 案例如下:# 随机移除一个元素:set1 = {1, 2, 3, 4}set1.pop()print(set1)# 结果如下:{2, 3, 4}# 输出返回值:set1 = {1, 2, 3, 4}print(set1.pop())# 结果如下:1

登录后复制

13.remove() 方法用于移除集合中的指定元素。

该方法不同于 discard() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

# 语法如下:set.remove(item)# 案例如下:set1 = {1, 2, 3, 4}set1.remove(4)print(set1)# 输出结果如下:{1, 2, 3}

登录后复制

14.symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素,即返回两个集合中互不相同的元素集合。

# 语法如下:set1.symmetric_difference(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}print(set1.symmetric_difference(set2))# 输出结果如下:{1, 4}

登录后复制

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

# 语法如下:set1.symmetric_difference_update(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4, 5}set1.symmetric_difference_update(set2)print(set1)# 输出结果如下:{1, 4, 5}

登录后复制

16.union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

# 语法如下:set1.union(set2)# 案例如下:# 合并两个集合,重复元素只会出现一次:set1 = {1, 2, 3}set2 = {2, 3, 4}print(set1.union(set2))# 输出结果如下:{1, 2, 3, 4}# 合并多个集合:set1 = {1, 2, 3}set2 = {2, 3, 4}set3 = {3, 4, 5, 6, 7}print(set1.union(set2, set3))# 输出结果如下:{1, 2, 3, 4, 5, 6, 7}

登录后复制

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

# 语法如下:set1.update(set2)# 案例如下:set1 = {1, 2, 3}set2 = {2, 3, 4}set1.update(set2)print(set1)# 结果如下:{1, 2, 3, 4}

登录后复制

三、总结

1.创建空集合

使用set()方法创建空集合非常简单。只需调用set()方法,即可创建一个空的set对象。

# 例子:set_data = set()print(set_data)# 输出结果如下:set()

登录后复制

2.将可迭代对象转换为集合

set()方法还可以将其他可迭代对象(如列表、元组和字符串)转换为集合。

# 案例:list1 = [1, 2, 3, 4, 5]set1 = set(list1)print(set1)tuple1 = (1, 2, 3, 4, 5)set2 = set(tuple1)print(set2)str1 = "Hello, world!"set3 = set(str1)print(set3)# 输出结果如下:{1, 2, 3, 4, 5}{1, 2, 3, 4, 5}{'d', 'H', 'o', ',', 'l', 'e', '!', 'r', 'w', ' '}

登录后复制

3.set()方法的其他用法

将字符串拆分为单个字符并将其存储在集合中。

# 例子:str2 = "Python"set4 = set(str2)print(set4)# 输出结果:{'h', 't', 'o', 'n', 'P', 'y'}

登录后复制

4.结论

集合对象有许多内置方法可用于添加、删除、合并、比较和操作集合中的元素。以下是set对象的一些常见方法:

add(): 用于将单个元素添加到集合中。

clear(): 用于清空集合中的所有元素。

copy(): 用于创建集合的副本。

difference(): 用于返回两个集合的差集。

difference_update(): 用于删除集合中与另一个集合相同的元素。

discard(): 用于删除集合中指定的元素。

intersection(): 用于返回两个集合的交集。

intersection_update(): 用于保留集合中与另一个集合相同的元素。

isdisjoint(): 用于判断两个集合是否没有共同元素。

issubset(): 用于判断一个集合是否是另一个集合的子集。

issuperset(): 用于判断一个集合是否是另一个集合的超集。

pop(): 用于随机移除一个元素。

remove(): 用于移除集合中的指定元素。

symmetric_difference(): 用于返回两个集合的对称差集。

symmetric_difference_update(): 用于保留集合中非共同元素,删除共同元素。

union(): 用于返回两个集合的并集。

update(): 用于将一个集合中的元素添加到另一个集合中。

这些方法都可以通过在集合对象上调用方法名称并提供必要的参数来使用。例如,使用add()方法将单个元素添加到集合中,使用update()方法将一个集合中的元素添加到另一个集合中。

以上就是Python中的set方法如何使用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2236481.html

(0)
上一篇 2025年2月26日 18:30:47
下一篇 2025年2月26日 18:31:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python怎么实现smtplib发送带附件邮件小程序

    程序名称:sendMail_func.py #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import time import smtplib from …

    编程技术 2025年2月26日
    000
  • python的PyGame Zero怎么用

      在你的游戏开发过程中有了 PyGame Zero,和枯燥的模板说再见吧。 Python 是一个很好的入门级编程语言。并且,游戏是一个很好的入门项目:它们是可视化的,自驱动的,并且可以很愉快的与朋友和家人分享。虽然,绝大多数的 Pytho…

    2025年2月26日
    200
  • 高效的Python通用对象池化库怎么使用

    对象池模式主要适用于以下应用场景: 资源受限的场景。比如,不需要可伸缩性的环境(CPU、内存等物理资源有限),CPU性能不够强劲,内存比较紧张,垃圾收集,内存抖动会造成比较大的影响,需要提高内存管理效率, 响应性比吞吐量更为重要。 在内存中…

    2025年2月26日
    200
  • Python Tkinter GUI编程怎么实现Frame切换

    1、Frame的tkraise() 方法介绍 通常,一个 tkinter 应用程序由多个frame组成。 而且您经常需要在frame之间切换以显示与用户选择相关的frame。 Tkinter 允许将Frame堆叠在一起。 要显示特定Fram…

    2025年2月26日
    200
  • Python中的枚举怎么实现

    使用普通类直接实现枚举 在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,访问枚举项的方式为:类名加上类变量,像下面这样: class color():    YELLOW  = 1    RED    …

    编程技术 2025年2月26日
    200
  • Python怎么利用Turtle绘制哆啦A梦和小猪佩奇

    1.哆啦A梦 “只要把愿望系在竹竿上请求月亮女神,心愿便能达成”。我超喜欢这句话。 哆啦A梦的创造要追溯到1969年的某个截稿日,作者藤子·F·不二雄的家里突然闯进了一只小猫,虽然很快就要截稿了,但作者还是和小猫玩了起来,还替小猫挠虱子,而…

    2025年2月26日
    200
  • Python的Try和Except怎么使用

    try 块允许您测试代码块以查找错误。 except 块允许您处理错误。 finally 块允许您执行代码,无论 try 和 except 块的结果如何。 异常处理 当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。 …

    2025年2月26日 编程技术
    200
  • 为什么 Python、Ruby 等语言弃用了自增运算符?

    许多人也许会注意到一个现象,那就是在一些现代编程语言(当然,并不是指“最近出现”的编程语言)中,自增和自减运算符被取消了。也就是说,在这些语言中不存在​​i++​​​或​​j–​​​这样的表达,而是只存在​​i += 1​​​或…

    2025年2月26日
    200
  • Python的正则表达式怎么实现

    Python 正则表达式 正则表达式本身是独立于编程语言的知识,但是它又依附于编程语言,基本上我们所使用的编程语言都提供了对它的实现,当然了,各家的实现也是有一些差异的,有的支持的功能多一点,有的支持的少一点。 因为正则表达式是实践中使用广…

    2025年2月26日
    200
  • Python中if语句的基本格式是什么

    在 python 中,if 语句用于根据条件执行不同的代码块。它的基本格式如下: if condition:    # 如果 condition 为 True,执行这里的代码块 登录后复制 其中,condition 是一个表达式,通常涉及变…

    编程技术 2025年2月26日
    200

发表回复

登录后才能评论