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


相关推荐

  • acwing-2325. 有向图破坏(最小割之最小权覆盖集)「建议收藏」

    acwing-2325. 有向图破坏(最小割之最小权覆盖集)「建议收藏」爱丽丝和鲍勃正在玩以下游戏。首先,爱丽丝绘制一个 N 个点 M 条边的有向图。然后,鲍勃试图毁掉它。在每一步操作中,鲍勃都可以选取一个点,并将所有射入该点的边移除或者将所有从该点射出的边移除。已知,对于第 i 个点,将所有射入该点的边移除所需的花费为 W+i,将所有从该点射出的边移除所需的花费为 W−i。鲍勃需要将图中的所有边移除,并且还要使花费尽可能少。请帮助鲍勃计算最少花费。输入格式第一行包含 N 和 M。第二行包含 N 个正整数,第 i 个为 W+i。第三行包含 N 个正整数,第.

    2022年8月11日
    0
  • lol匹配算法

    lol匹配算法

    2021年11月14日
    66
  • 分享67套基于Java开发的Java毕业设计实战项目(含源码+毕业论文)【新星计划】

    分享67套基于Java开发的Java毕业设计实战项目(含源码+毕业论文)【新星计划】【新星计划】分享67套基于Java开发的Java毕业设计实战项目(含源码+毕业论文)基于Java开发的Java毕业设计实战项目本文中的所有主题都来自互联网。如果您侵犯您的权利,请及时联系Blogger,博主将及时处理。投诉邮箱:1919101926@qq.com(没事勿扰,不接单,也没时间解决难题,谢谢配合)。文章目录->建议收藏关注+点赞<-基于Java开发的Java毕业设计实战项目前言Java毕业设计所用到的开发环境Java毕业设计项目简单介绍17套基于Java开发的[互

    2022年9月1日
    2
  • PDAF 456[通俗易懂]

    PDAF 456[通俗易懂]

    2022年9月6日
    0
  • HttpClient4.X 升级 入门 + http连接池使用

    HttpClient4.X 升级 入门 + http连接池使用转载请注明出处,谢谢~http://blog.csdn.net/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection

    2022年7月22日
    5
  • 简单介绍python的双向队列

    简单介绍python的双向队列

    2021年11月27日
    49

发表回复

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

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