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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 智慧小区门禁好处多,你都get到了吗?「建议收藏」

    智慧小区门禁好处多,你都get到了吗?「建议收藏」现在,人们越来越注重信息安全、财产安全、人身安全。随着科技与人工智能的发展,门禁系统也进行升级,智慧门禁系统逐渐进入人们视野,智慧社区服务正在进行。智慧小区门禁识别技术设计原则人性化“人”是主体,系统设计应紧紧围绕着人们的实际需求,以实用、简便、经济、安全的原则,同时照顾到不同人群的需要,满足用户使用门禁功能。智慧小区门禁由于没有分机,没有大量布线,维护成本不到传统门禁的20%。智能门禁厂家可以…

    2022年10月17日
    3
  • SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)

    SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)流量累计基于积分的原理,采用细分面积的方法近似计算瞬时流量的累加。也是离散上的累加求和,公式虽然简单但是流量累计仍有些需要注意的地方,下面一一和大家举例说明。

    2025年10月20日
    4
  • JavaScript模板字符串

    JavaScript模板字符串JavaScript 模板字符串字符串插值模板字符串标签函数

    2025年11月16日
    5
  • ppsspp文件格式_pps文件用什么打开

    ppsspp文件格式_pps文件用什么打开MP4文件介绍mp4文件由box组成,每个box分为Header和Data。其中Header部分包含了box的类型和大小,Data包含了子box或者数据,box可以嵌套子box。下图是一个典型mp4文件的基本结构:box结构AVCDecoderConfiguration(AvcC)语法(解析sps、pps)aligned(8)classAVCDecoderConfigurationRecord{unsignedint(8)configurationVersion=1;unsig

    2022年10月10日
    3
  • 电商如何提高用户体验_购物网站的设计思路

    电商如何提高用户体验_购物网站的设计思路电子商务是一个复杂的系统,很多小伙伴在设计电商网站的时候会遇到不少的问题。作为电子商务的典型模式之一,B2C网上零售网站要考虑的因素很多,有时候很多意想不到的因素都可能决定一个用户最终是否在该网站完成购物。在消费者注意力越来越分散的今天,如果我们希望潜在客户更多的停留在自己的网站中,进而进行购买,就需要多多从用户的角度出发,提供简便愉快的购物体验,改善用户体验。以下给大家6点建议,能从一…

    2022年10月1日
    4
  • vim报E325:ATTENTION

    vim报E325:ATTENTION我的报错文件是这个 .nginx.conf.swp直接删掉就好了 rm-rf .nginx.conf.swp然后重新打开就OK了

    2022年5月12日
    42

发表回复

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

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