Python入门之集合的使用教程
作者:胡安民-独行者 发布时间:2022-10-31 13:44:45
前序
在Python中,集合(Set) 是一个无序、不重复的序列,它不支持索引。集合一般用于元素去重或者一些数学中的操作像union,intersection,difference和complement等数学运算。
集合操作
创建集合
通过使用set()函数或将所有元素放置在一对大括号内创建一个集合。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
Months={"Jan","Feb","Mar"}
Dates={21,22,17}
访问集合
我们无法访问集合中的单个值。我们只能如上所示访问所有元素。但是我们也可以通过遍历该集合来获取单个元素的列表。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
for d in Days:
print(d)
判断集合是存在指定值
x = {"a","b","c"}
print("a" in x)
集合添加
我们可以使用add()方法将元素添加到集合中。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
Days.add("Sun")
print(Days)
使用 update() 方法将多个项添加到集合中:
thisset = {"apple", "banana", "cherry"}
thisset.update(["orange", "mango", "grapes"])
print(thisset)
集合删除
要删除集合中的项目,请使用 remove() 或 discard() 方法。。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
Days.discard("Sun")
print(Days)
thisset = {"apple", "banana", "cherry"}
thisset.remove("banana")
print(thisset)
注释:如果要删除的项目不存在,则 remove() 将引发错误。 如果要删除的项目不存在,则 discard() 不会引发错误。
您还可以使用 pop() 方法删除项目,但此方法将删除最后一项。请记住,set 是无序的,因此您不会知道被删除的是什么项目。 pop() 方法的返回值是被删除的项目。
thisset = {"apple", "banana", "cherry"}
x = thisset.pop()
print(x)
clear() 方法清空集合:
thisset = {"apple", "banana", "cherry"}
thisset.clear()
print(thisset)
del 彻底删除集合:
thisset = {"apple", "banana", "cherry"}
del thisset
print(thisset)
集合函数
返回集合的副本
如果不使用这种方式的话,那么直接用=号复制的是地址,这样就导致了修改了值而原集合也会发生变化
fruits = {"apple", "banana", "cherry"}
x = fruits.copy()
print(x)
判断集合内是否包含另一个集合
如果指定集中的所有项目都存在于原始集中,则 issuperset() 方法将返回 True,否则返回 False。
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y)
print(z)
并集
您可以使用 union() 方法返回包含两个集合中所有项目的新集合,也可以使用 update() 方法将一个集合中的所有项目插入另一个集合中:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
注释:union() 和 update() 都将排除任何重复项。
差集
返回x集合有的y集合没有的
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.difference(y)
print(z)
交集
intersection() 方法返回包含两个或更多集合之间都存在的项目
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.intersection(y)
print(z)
补集
返回的集合包含两个集合中都不存在的项的混合体 ,也就是a和b集合都有的不输出
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.symmetric_difference(y)
print(z)
交集判断
集合 x 中没有项目存在于集合 y 中,则返回 True 否则返回False
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "facebook"}
z = x.isdisjoint(y)
print(z)
来源:https://blog.csdn.net/weixin_45203607/article/details/126710372


猜你喜欢
- 前言undefined 和 null 的区别是个老生常谈的话题了,之前我对二者的区别只是简单理解,例如二者转成 Boolean 类型都是 f
- 矩阵相乘需要前面矩阵的行数与后面矩阵的列数相同方可相乘。第一步,先将前面矩阵的每一行分别与后面矩阵的列相乘,作为结果矩阵的行列;第二步算出结
- 当子类继承父类后,需要调用父类的方法和属性时,需要调用父类的初始化函数。class A(object): def __init_
- 创建Vue项目 以及引入Iview官方文档# 全局安装 vue-cli$ npm install --global vue-cli# 创建一
- Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领
- 变量覆盖漏洞<?php$flag='xxx'; extract($_GET); if(isset($shiyan))
- 本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获
- ASCII码转换为int:ord('A') 65int转为ASCII码:chr(65) 'A'题目内容:实现
- 一、为什么难 秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。例如小米手
- 前言列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的。创建列表的几种方法第一种name_li
- ①差集方法一:if __name__ == '__main__':a_list = [{'a' : 1},
- 本文实例为大家分享了python点球小游戏的具体代码,供大家参考,具体内容如下1.游戏要求: 设置球的方向:左中右三个方向,射门或者扑救动作
- 前言之前学python时在网上找了好多小程序,由于年代久远,已经忘记出自哪里了,给代码加了点注释,再稍微修改了一下,让代码的可读性更好,如有
- 本文实例讲述了Python实现简单状态框架的方法。分享给大家供大家参考。具体分析如下:这里使用Python实现一个简单的状态框架,代码需要在
- 网页设计是由很多个不同的元素构成的,而这些元素的重要性都不同,并且有些元素还需要尤为的突出.有些元素彼此之间存在着联系,而另外的元素之间则一
- 缺省的情况下GitLab的官方镜像中提供了一个Redis,如果希望把此缓存数据库放在GitLab的容器之外的话需要怎么做呢?这篇文章结合示例
- 在用户体验量化方法研究(一)中,我们以用户体验层次模型为基础,提出了三种量化用户体验的方法:以任务为中心、以行为为中心以及以体验为中心的量化
- 引言在开发过程中,遇到过json数据组的字符串,需要解析json组,得到组内所有的信息。如下格式:[{"itemId":
- 本文实例讲述了纯js封装的ajax功能函数与用法。分享给大家供大家参考,具体如下:AJAX = Asynchronous JavaScrip
- selenium+python,使用webdriver的截图函数get_screenshot_as_file()截图,代码如下:from s