# Python 集合

[En]

About collections, Wikipedia describes it as follows:

• set：可变集合
• frozenset：不可变集合

set 可以原地修改，或者说是可变的，也可以说是 unhashable（不可哈希）的。

frozenset，顾名思义，是一个被”冻结”的集合，不能原地修改，是 hashable（可哈希）的。

|版权声明：一去、二三里，未经博主允许不得转载。

[En]

A collection can have any number of elements, which can be of different types (for example, numbers, tuples, strings, and so on). However, the collection cannot have variable elements (for example, lists, collections, or dictionaries).

## 集合的特性

–《论语》

[En]

Reviewing the relevant knowledge of mathematics, the set has the following characteristics:

• 无序：在集合中，每个元素的状态是相同的，元素是无序的。
[En]

disorder: in a collection, the status of each element is the same, and the elements are disordered.

可以在集合上定义顺序关系，在定义顺序关系后，可以根据顺序关系对元素进行排序。然而，就集合本身的特点而言，元素之间并没有必然的顺序。

[En]

The order relation can be defined on the set, and after the order relation is defined, the elements can be sorted according to the order relation. However, as far as the characteristics of the set itself are concerned, there is no inevitable order between elements.*

• 异构性：集合中的任何两个元素都被认为是不同的，即每个元素只能出现一次。
[En]

heterogeneity: any two elements in a collection are considered to be different, that is, each element can only appear once.

有时，您需要描述同一元素多次出现的情况，并且您可以使用多个集合，其中允许元素多次出现。

[En]

Sometimes you need to depict situations where the same element occurs multiple times, and you can use multiple sets, where elements are allowed to occur multiple times.*

• 确定性：给定一个集合，任何属于或不属于该集合的元素都必须是一个或另一个，并且不允许有歧义。
[En]

certainty: given a set, any element that either belongs to or does not belong to the set must be one or the other, and ambiguity is not allowed.*

## 集合运算

[En]

Mathematical set operations can also be carried out between sets (for example, union, intersection, etc.), which can be realized by corresponding operators or methods.

[En]

A subset is a set that is part of a set, so it is also called a partial set.

[En]

The union of a set of collections is a collection of all the elements of those collections, but not other elements.

A 与 B 的差集是所有属于 A 且不属于 B 的元素构成的集合

[En]

The symmetric difference between two sets is a set of elements that only belong to one set and not to the other.

## 更改集合

[En]

Although the collection cannot have mutable elements, the collection itself is mutable. That is, you can add or remove elements from it.

[En]

In all cases, the element does not repeat.

## 集合的方法

[En]

As you can see, the following methods are available:

clear()

copy()

difference()

[En]

Returns the difference of two or more sets as a new set

difference_update()

[En]

Remove all elements of another collection from this collection

[En]

Delete an element in the collection (if the element does not exist, no action is performed)

intersection()

[En]

Returns the intersection of two sets as a new collection

intersection_update()

[En]

Update this collection with the intersection of yourself and another

isdisjoint()

issubset()

issuperset()

pop()

remove()

symmetric_difference()

[En]

Returns the symmetric difference between two sets as a new set

symmetric_difference_update()

[En]

Update this set with the symmetry difference between yourself and another

union()

[En]

Returns the union of a collection as a new collection

update()

[En]

Update this collection with the union of yourself and another

## 集合与内置函数

[En]

The following built-in functions usually act on collections to perform different tasks.

all()

any()

enumerate()

[En]

Returns an enumerated object that contains the indexes and values (pairs) of all elements in the collection.

len()

[En]

Returns the length of the collection (number of elements)

max()

min()

sorted()

[En]

Returns a new sorted list from the elements in the collection (does not sort the collection itself)

sum()

## 不可变集合

frozenset 是一个具有集合特征的新类，但是一旦分配，它里面的元素就不能更改。这一点和元组非常类似：元组是不可变的列表，frozenset 是不可变的集合。

frozenset 也提供了一些列方法，和 set 中的类似。

Original: https://blog.51cto.com/waleon/5525593
Author: waleon
Title: Python 集合

(0)

### 大家都在看

• #### MixCSE：困难样本在句子表示中的使用

Unsupervised Sentence Representation via Contrastive Learning with Mixing Negatives 论文地址：h…

Python 2023年10月23日
093
• #### 【ChatGPT】与ChatGPT聊天，了解世界杯的前世今生

文章目录 * – 🏆 前言 – 💬 什么是ChatGPT – ⚽ 与ChatGPT的快问快答 – 🧩 总结 🏆 前言 最近火爆全网的…

Python 2023年11月3日
0100

抵扣说明： 1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。 Original: https://blo…

Python 2023年10月27日
048
• #### 基于Conda和Jupyter的GEE-python本地环境配置

Python 2023年9月8日
069
• #### Matplotlib（二）—— 子图

Python模块 —— Matplotlib Matplotlib（二）—— 子图 * 四、子图 – 4.1 均匀子图 + 4.1.1 plt.subplots 4.1…

Python 2023年8月31日
098
• #### 基于Sklearn机器学习代码实战

LinearRegression 线性回归入门 数据生成 为了直观地看到算法的思路，我们先生成一些二维数据来直观展现 import numpy as np import matpl…

Python 2023年10月14日
095
• #### Arduino驱动OLED显示屏

使用Arduino驱动SSD1306 OLED 显示屏工作 1、准备工作 1.1）Arduino中库的载入 include ; 1.2）接线 在这里使用的是arduino UNO开…

Python 2023年11月8日
070
• #### 小学生python游戏开发pygame–初始及基础知识

1024程序员节｜用代码，改变世界 小学生python游戏开发pygame1–基础知识 * – 前言 – 知识点 – + 1、pyt…

Python 2023年9月18日
087
• #### 【玩具】使用Python自动化发送微信消息进行订水

事情是这样的，我知道淘宝上有卖一种USB接口的大按钮，估计是给工厂或者医院之类的场景设计的，样子长这样： 然后我一直想要一个，没有别的，只是为了好玩，但我没有想过它对我有任何用处，…

Python 2023年5月24日
0106
• #### python dataframe rename_详解pandas DataFrame修改行列名

写在前面的话： 在做WISE数据处理时，有时候需要将几组数据生成一个DataFrame，然而在生成的过程中我一般不会设置列的名字(因为这种过程可能会有很多步)，所以最后的列名是默认…

Python 2023年8月6日
0104
• #### python的向量表示_python-dataframe生成表示向量的列

from sklearn.preprocessing import MultiLabelBinarizer mlb = MultiLabelBinarizer() df1 = pd…

Python 2023年8月7日
079
• #### 爬虫日记(65)：Scrapy的设置参数-Telnet

Scrapy包含了一个内置的Telnet控制台，可以为你提供正在运行中的爬虫进程的Python shell。 class scrapy.extensions.telnet.Teln…

Python 2023年10月4日
049
• #### django原生api接口

1.1 创建django项目 django-admin startproject drfdemo1 1.2 创建app django-admin startapp app 1.3 …

Python 2023年10月31日
050
• #### TensorFlow深度学习！构建神经网络预测股票价格！⛵

💡 作者：韩信子@ShowMeAI📘 深度学习实战系列：https://www.showmeai.tech/tutorials/42📘 TensorFlow 实战系列：https:…

Python 2023年10月15日
097
• #### python中矩阵乘和矩阵点乘

通过举例子直接看python如何实现矩阵乘和矩阵的点乘。 import numpy a = numpy.ones([3,3]) b = numpy.array([[1 ,2 ,3]…

Python 2023年8月27日
082
• #### Pytest allure 定制化测试报告

1、定制报告 Feature：标注主要功能模块 Story：标注 Features 功能模块下的分支功能 Severity：标注测试用例的重要级别 Step：标注测试用例的重要步骤…

Python 2023年9月11日
068