python集合用法_Python 集合(Set)

集合

集合是无序、无索引的数据集。在Python中,集合用花括号包裹。

示例

创建集合:

thisset = {"自行车", "汽车", "高铁"}

print(thisset)

注意: 集合是无序的,因此项目将以随机顺序出现。

访问集合项目

不能通过索引来访问集合项,因为集合是无序的,这些项没有索引。

但是您可以使用for循环遍历集合项,使用in关键字查询集合中是否存在指定值。

示例

遍历集合,并打印值:

thisset = {"自行车", "汽车", "高铁"}

for x in thisset:

print(x)

示例

检查“汽车”是否出现在集合中:

thisset = {"自行车", "汽车", "高铁"}

print("汽车" in thisset)

修改项目

集合一旦创建,就不能更改,但是可以添加新项。

添加项目

要向集合中添加一项,使用add()方法。

若要向集合添加多个项,使用update()方法。

示例

使用add()方法向集合添加一个项:

thisset = {"自行车", "汽车", "高铁"}

thisset.add("飞机")

print(thisset)

示例

使用update()方法向一个集合添加多个项:

thisset = {"自行车", "汽车", "高铁"}

thisset.update(["飞机", "轮船", "电动车"])

print(thisset)

获取集合长度

要确定一个集合有多少项,可以使用len()方法。

示例

获取集合长度:

thisset = {"自行车", "汽车", "高铁"}

print(len(thisset))

删除项目

要删除集合中的项,使用remove()或discard()方法。

示例

使用remove()方法删除“汽车”:

thisset = {"自行车", "汽车", "高铁"}

thisset.remove("汽车")

print(thisset)

注意: 如果要删除的项不存在,remove()将引发错误。

示例

使用discard()方法删除“汽车”:

thisset = {"自行车", "汽车", "高铁"}

thisset.discard("汽车")

print(thisset)

注意: 如果要删除的项不存在,discard()不会引发错误。

您还可以使用pop()方法删除项,但该方法只删除最后一项。因为集合是无序的,所以您不知道删除了哪些项。

pop()方法的返回值是已删除的项。

示例

使用pop()方法删除最后一项:

thisset = {"自行车", "汽车", "高铁"}

x = thisset.pop()

print(x)

print(thisset)

注意: 集合是无序的,所以当使用pop()方法时,您将不知道删除了哪个项。

示例

clear()方法清空集合:

thisset = {"自行车", "汽车", "高铁"}

thisset.clear()

print(thisset)

示例

del关键字将删除整个集合,包括集合自身:

thisset = {"自行车", "汽车", "高铁"}

del thisset

print(thisset)

set()构造方法

也可以使用set()构造方法来创建集合。

示例

使用set()构造方法创建集合:

thisset = set(("自行车", "汽车", "高铁")) # 注意双圆括号

print(thisset)

集合方法

Python有一组可以在set上使用的内置方法。

方法

描述

add()

向集合中添加元素

clear()

从集合中移除所有元素

copy()

返回集合的副本

difference()

返回一个集合,该集合包含两个或多个集合之间的差别项目

difference_update()

移除此集合中与另一个集合相同的项

discard()

删除指定项

intersection()

返回一个集合,它是另外两个集合的交集

intersection_update()

移除此集合中其他集合中不存在的项

isdisjoint()

返回两个集合是否有交集

issubset()

返回另一个集合是否包含此集合

issuperset()

返回此集合是否包含另一个集合

pop()

从集合中移除一个元素

remove()

移除指定的元素

symmetric_difference()

返回具有两个集合的对称差异的集合

symmetric_difference_update()

插入来自这个集合和另一个集合的对称差异

union()

返回包含集合并集的集合

update()

使用此集合和其他集合的并集更新集合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录更新(Java数据类)

最近几个月,有一些与“ Java数据类”(又称为“记录”)有关的更新。 正如我在“ JavaFX,Valhalla,数据类和Java的浮点更新 ”一文中简短提到的那样, Brian Goetz的“ Java数据类 ”“探讨了Java语言中数据类…

k2677场效应管参数引脚_共射极放大电路,场效应管放大电路,运算放大电路

电子技术、无线电维修及SMT电子制造工艺技术绝不是一门容易学好、短时间内就能够掌握的学科。这门学科所涉及的方方面面很多,各方面又相互联系,作为初学者,首先要在整体上了解、初步掌握它。无论是无线电爱好者还是维修技术人员,你…

计算机类和鼠标类是什么关系,电脑自己关机和鼠标键盘有关系吗

都是新版QQ惹的祸,用USB键盘的都会出现这个问题.1、找到QQ的安装目录,方法如下:在桌面上找到QQ图标,用鼠标右键点击图标,在出现的菜单中,点击“属性” ,在弹出的窗口中,点击“打开文件位置”,这…

加载类_JVM类加载详解

类的加载器概述类加载器是JVM执行类加载机制的前提。ClassLoader的作用:ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目…

group by用法多个字段_select的用法

select的用法 --每个员工的所有信息 select * from emp; --每个人的部门编号,姓名,薪水 select empno, ename, sal from emp; --每个人的年薪 select ename, sal*12 from emp; --计算2*3的值 select 2*3 from emp; --计算2*3的值(dual) select 2*3 from …

计算机考试打字小作文,打字练习作文(通用5篇)

打字练习作文(通用5篇)导语:随着计算机在人们的生活中普及,敲键盘打字的速度就变成了人们努力的方向。下面是小编为大家整理的打字练习作文(通用5篇),欢迎阅读,希望大家能够喜欢。打字练习作文 篇1今天过得有些无聊,爸…

euclidea教程_Euclidea

Euclidea作者:Fegeek56次浏览2019-10-13 12:42:02分享Euclidea is a FUN & CHALLENGING Way to Create Euclidian Constructions!> 127 Levels: from very easy to really hard> 11 Tutorials> 10 Innovative Tools> "Explore" Mode and …

信息技术与计算机文化的问题,信息技术与计算机文化

第一章 信息技术与计算机文化1信息:是指自然界、人类活动和人类思维活动中普遍存在的一切物质和事物的属性(在计算机上以数据形式存储)2数据:存储在某种媒体上加以鉴别的符号资料(在计算机以二进制形式存储)3文件:存储在外存上的一组相关信息…

eclipse创建pojo_使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码

eclipse创建pojo概述: 在本教程中,我们将使用Eclipse Hibernate工具自动生成域对象和相应的hbm xml文件。 如果您正在处理大型或中型项目,并且开始时有超过5个以上的表,那么您可能会发现此插件是自动生成映射域对象java文件和相应…

c语言中x的n次方怎么表示_线性代数的本质及其在AI中的应用

线性代数是 AI 专家必须掌握的知识,这已不再是个秘密。如果不掌握应用数学这个领域,你永远就只能是「门外汉」。当然,学习线性代数道阻且长。数学,尤其是线性代数常与枯燥、复杂和毫无意义的事物联系起来。不过你还可以另辟蹊径。…

为什么在生产中进行调试是如此诱人?

生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生。 很简单! - 我想。 我将在开发环境中重现同样的情况,找到虚线&#x…

软件测试中需求分析谁去做的,软件项目在进入需求分析阶段,测试人员应该开始介入其中。 - 问答库...

问题:[判断题] 软件项目在进入需求分析阶段,测试人员应该开始介入其中。A . 正确B . 错误某男性患者,45岁.乡镇企业工人,因腹胀,尿少2周就诊。诉近年来体力下降较明显,易疲乏,时有右…

解码base64_linux C++ Base64编解码

Base64的由来目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进行(或再次Base64)传输。那么&#xf…

java的for循环取出数据只是拿到最后一个_新兴大数据分析榆中百合

新兴大数据分析榆中百合大数据流程从流程角度上看,整个大数据处理可分成4个主要步骤。处理流程图分为三层(数据采集层,数据存储与计算处理层,数据可视化):表2-1 系统环境系统版本Windows 10专业版(建议)LinuxCentOS 6.8 or CentO…

文件 服务器 pandas,疑难杂症-使用pandas_profiling查看EDA数据文档遇到的一些坑

最近在学习特征工程相关的东西,发现pandas_profiling这个包特别适合直观地能够展示数据地很多细节的地方,包括缺失值等相关信息。然后,我就开始折腾pip install pandas_profiling发现一下子把原本好好的环境(Anaconda3.5、Python3)给折腾坏了…

log4j 禁止类输出日志_log4j 2过滤spring日志遇到的问题

在项目中使用testng写单元测试,使用log4j输出日志,spring的日志也被打印出来,在调试的时候看到一片一片的spring日志很烦,总是要找自己的输出日志。这样式的~~~找了一下log4j2的日志过滤,很简单,在logger定…

c++冒泡排序代码_【开源推荐】数据结构和算法必知必会的50个代码实现

最近GitHub上发现了个非常不错的项目,目前star 4000,项目主要讲数据结构和算法,有多种语言 50个代码实现。实现语言有c,c#,go,java,javascript,object-c,python&#xff…

应用程序添加到服务器,在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...

我有一个spring-boot应用程序,可用于在开发和测试环境中设置a spring cloud config server和a eurekaserver。奇怪的是localhost:8761,即使我将其eureka.client.registerWithEureka设置为false,应用程序也总是尝试连接到。如何停用此功能&…

android 抽屉_Android Studio之路,我们来了解一下Google官方Android开发工具

记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路,覆写了一篇Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!Android Studio,自Google2013年发布以来,就…

karaf osgi_在OSGi中为Karaf构建Camel-CXF REST服务–组播和聚合

karaf osgi请查看我在Karaf的OSGi中构建普通CXF服务(无Camel)的其他文章 。 这是有关如何 创建一个CXF REST服务 使用骆驼多播(并并行化)传入的请求 来自两个不同服务的源数据 汇总响应并 最后将合并结果作为JSON返回给最终…