python set集合排序_Python Set集合「建议收藏」

python set集合排序_Python Set集合「建议收藏」PythonSet集合Python中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同。从形式上看,和字典类似,Python集合会将所有元素放在一对大括号{}中,相邻元素之间用“,”分隔,如下所示:{element1,element2,…,elementn}其中,elementn表示集合中的元素,个数没有限制。从内容上看,同一集合中,只能存储…

大家好,又见面了,我是你们的朋友全栈君。

Python Set集合

Python 中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同。

从形式上看,和字典类似,Python 集合会将所有元素放在一对大括号 {} 中,相邻元素之间用“,”分隔,如下所示:

{element1,element2,…,elementn}

其中,elementn 表示集合中的元素,个数没有限制。 从内容上看,同一集合中,只能存储不可变的数据类型,包括整形、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则 Python 解释器会抛出 TypeError 错误。

由于 Python 中的 set 集合是无序的,所以每次输出时元素的排序顺序可能都不相同。

其实,Python 中有两种集合类型,一种是 set 类型的集合,另一种是 frozenset 类型的集合,它们唯一的区别是,set 类型集合可以做添加、删除元素的操作,而 forzenset 类型集合不行。

Python 提供了 2 种创建 set 集合的方法,分别是使用 {} 创建和使用 set() 函数将列表、元组等类型数据转换为集合。

1) 使用{}创建

在 Python 中,创建 set 集合可以像列表、元素和字典一样,直接将集合赋值给变量,从而实现创建集合的目的,其语法格式如下:

setname = {element1, element2,…elementn}

举个例子:

a = {1, ‘x’, ‘x’, (7,8,9),3}

print(a)

运行结果为:

{1, (7, 8, 9), 3, ‘x’}

2) Create Set with set()

set() 函数为 Python 的内置函数,其功能是将字符串、列表、元组、range 对象等可迭代对象转换成集合。该函数的语法格式如下:

setname = set(iteration)

注意,如果要创建空集合,只能使用 set() 函数实现。因为直接使用一对 {},Python 解释器会将其视为一个空字典。

访问set集合元素

由于集合中的元素是无序的,因此无法向列表那样使用下标访问元素。访问集合元素最常用的方法是使用循环结构,将集合中的数据逐一读取出来。

python set集合排序_Python Set集合「建议收藏」

Delete set

Like other sequence type. We can use del() to delete set as well.

del(set1)

Operations of Set

1.Add Element

To add elements to the set collection, we can use the add() provided by the set to achieve.

for example:

>>>setA = {‘x’,’y’,’z’}

>>>print(setA)

>>>setA.add(147)

{‘y’, 147, ‘z’, ‘x’}

It should be noted that the elements added by the method add() can only be numbers, strings, tuples or boolean (True and False) values. The data such as lists, dictionaries, and collections cannot be added, otherwise Python will report a TypeError

2. Remove element

Remove the specific element from a Set, we can use method remove() to complete it.

setname.remove(element)

if the element not exist in the set. the KeyError will be reported.

>>> setA.remove(‘w’)

Traceback (most recent call last):

File “”, line 1, in KeyError: ‘w’

3.union, intersection, difference and symmetric difference.

交集、并集、差集,对称差集

>>> setA = {5,6,7}

>>> setB = {7,8,9}

Operation

Operator

Concept

Example

union

&

take the common elements of these set

>>> setA & SetB

{7}

intersection

|

take all elements of these set

>>> setA | setB

{5,6,7,8,9}

difference

Take elements in a set that are not in another set

>>> setA – setB

{5,6}

>>> setB – setA

{8,9}

symmetric difference

^

Take the elements in sets A and B that do not belong to A&B

>>>setA ^ setB

{5, 6, 8, 9}

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 普天通信JavaEE开发岗面试题

    普天通信JavaEE开发岗面试题

    2021年11月14日
    56
  • C语言的整型溢出问题 int、long、long long取值范围 最大最小值「建议收藏」

    C语言的整型溢出问题 int、long、long long取值范围 最大最小值「建议收藏」溢出和取值范围C语言的整型溢出问题整数溢出int、longint、longlongint占用字节疑问《C和指针》中写过:long与int:标准只规定long不小于int的长度,int不小于short的长度。double与int类型的存储机制不同,longint的8个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,类似科学计数法,因此double比

    2022年6月3日
    42
  • oracle常用操作_oracle日志文件在哪里

    oracle常用操作_oracle日志文件在哪里如果某个oracle账户经常被锁定,说明有应用程序或有人远程连接数据库多次失败后导致账户被锁定,oracle默认是有次数限制的,可以通过以下方式解决问题:1、用管理员账户登录:connsys/sysassysdba;2、解锁账户:alteruserscottaccountunlock;3、重置账户密码:alteruserscottidentifiedbytiger;4、授权:grantresource,connecttoscott;5、修改oracle默认配置:al

    2025年7月8日
    2
  • c++图形界面开发_在界面用显示时间的步骤

    c++图形界面开发_在界面用显示时间的步骤BCGControlBarLibraryProfessionalEdition installation:整个库的源代码安装在\BCGCBPro目录下面.可执行文件(*.dll)安装在\Bin(forVisualStudio6.0)或\Bin7(forVisualStudio.NET)下面。请在你的源代码中做如下的改变:·                    

    2022年10月8日
    3
  • vue父子组件传值方法_vue父组件向子组件传递对象

    vue父子组件传值方法_vue父组件向子组件传递对象前言在业务场景中经常会遇到子组件向父组件传递数值,或是父组件向子组件传递数值,下面将结合vue富文本框一起来了解一下父与子组件之间的传值业务场景在vue项目中创建了一个可以重复使用的富文本编辑器(可参考【vue】vue富文本编辑器(可重复使用组件)vue-quill-editor),由于是新闻编辑页面,首先需要把已经保存好的新闻内容展示在富文本编辑器中(父组件向子组件传值),其次需要把更新后的新闻内容保存到数据库中(子组件向父组件传值)父组件向子组件传值(v-bind:child.

    2025年9月14日
    6
  • 【剑指offer】出现次数超过一半的数字「建议收藏」

    【剑指offer】出现次数超过一半的数字

    2022年1月24日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号