【Python】此集合非彼集合

简介: 集合 set 是一个无序且不重复元素的对象的对象。集合和列表"[]"都是可以相互进行转换的。集合可以进行元素的添加,查询、删除操作,也可以进行并集、交集、差集的算数运算。简单的说,集合就是包含了一些唯一存在的元素

🧧(set)集合类型

集合 set 是一个无序且不重复元素的对象的对象。集合和列表"[]"都是可以相互进行转换的。集合可以进行元素的添加,查询、删除操作,也可以进行并集、交集、差集的算数运算。

简单的说,集合就是包含了一些唯一存在的元素。元素有以下几个特性:

无序性,集合中保存的元素是没有顺序的。

多样性,集合中可以保存多种数据类型的元素。

唯一性,集合中的元素都是唯一存在的,不会重复出现。

🎁集合的定义

集合可以使用大括号"{}" 或 set() 来进行定义,注意:set()函数是强制转换来进行创建。还有一点也要注意,不能使用"{}"来定义一个空集合,因为为"{}"实际上是在创建一个空字典(这个后续的文章会进行详细详解的) 你现在只需要明白这一点即可。

🎁创建集合

在创建集合的时候有两种方式,一种是直接使用集合的特征符号"{}"来创建,一种是使用set()函数强制类型转换来创建。

首先我们要知道集合和字典的区别,集合是由"{}"括起来的结构,每个元素之间用逗号(",")隔开,集合和字典都是用大括号括起来,但是集合之间不使用冒号。然而,字典内的键值之间会通过冒号":"来进行分割!

集合的结构为:示例代码如下👇

my_set = {元素1,元素2,元素3}

my_set为要创建的集合名,括号内的为集合中的元素。


🍁声明集合

声明一个集合为set()

示例代码如下👇

1. my_set = {1,2,3,4,5,6,7,8,9,10,"PY"}
2. print(my_set)

代码编译运行结果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'PY'}


🍁字符串转换集合 ⚠提醒:set()函数可以强制转换创建集合!

示例代码如下👇

1. my_set = set("Pythonyydstqll")
2. print(my_set)

代码编译运行结果:{'o', 'h', 'l', 's', 'y', 'n', 'q', 't', 'd', 'P'}

🔥注意:将字符串转换为集合之后,从输出的集合结果可以看出集合以及没有所重复的元素,而且元素的顺序和字符串中的顺序也不会相同,这是因为集合是一个无需且不会重复的元素对象。利用这个特性,可以除去列表当中的重复元素。

🍁将列表以及元组转换成F

⚠提醒:set()函数可以强制转换创建集合!

示例代码如下👇

1. set1 = set((1,2,3,4,5))
2. set2 = set([6,7,8,9,10])
3. print(set1)
4. print(set2)

set1 是  强制转换元组    set2 是  强制转换列表

代码编译运行结果:

{1, 2, 3, 4, 5}
{6, 7, 8, 9, 10}


🍁集合的查询操作

集合中的数据的查询不能单独获取集合中的某一个元素,只能通过遍历的方式去获取每一个。那就是通过 for 语句可以遍历整个集合的循环结构。

1. My_set = set("100123Python")
2. for sit in My_set:
3.  print(sit)

代码编译运行结果:

P

3

0

y

n

o

1

t

h

2

🔥注意:将字符串转换为集合之后,从输出的集合结果可以看出集合以及没有所重复的元素,而且元素的顺序和字符串中的顺序也不会相同,这是因为集合是一个无需且不会重复的元素对象。利用这个特性,可以除去列表当中的重复元素。(遍历也不例外!)

🎁集合的增加操作

向集合增加新元素的时候,可以使用 update() 和 add() 函数方法。集合新增数据语法如下:

集合1.update(集合2),将集合2中的元素添加到集合1当中。

集合.add(元素),将指定的元素添加到指定的集合当中。  

🍁update()

set2 中元素添加到 set1 当中

在集合当中增加元素,示例代码如下👇

1. set1 = set('7171')
2. set2 = set('PYYYDS')
3. set1.update(set2)
4. print(set1)

代码编译运行结果:{'P', 'Y', '7', 'S', 'D', '1'}

🍁add()

将指定的元素添加到指定的集合当中。

在集合当中增加元素,示例代码如下👇

1. set1 = set('7171')
2. set1.add('PYYYDS')
3. print(set1)

代码编译运行结果:{'PYYYDS', '1', '7'}


🍁清空集合

在学习增添和删除元素之前我们可以回忆一下del()方法,del()方法可以直接删除整个集合,语法格式为:

del my_set

🎁删除元素

删除元素可以使用集合的方法pop()或者remove()方法去删除一个元素,也可以使用clear()方法去清空集合。

需要注意的是remove()方法是移除指定元素。

pop()方法是直接删除集合中的第一个元素并输出。

🍁remove()

集合.remove(元素),将指定的元素从集合当中删除。 示例代码如下👇

1. set = {"apple", "banana", "cherry"}
2. set.remove("banana")
3. print(set)

代码编译运行结果:{'apple', 'cherry'}

🍁pop()

集合是无序的,因此在使用 集合.pop() 方法时,您不会知道删除的是哪个元素。

1. set = {"apple", "banana", "cherry"}
2. set.pop()
3. print(set)

(不唯一性)代码编译运行结果: {'cherry', 'banana'}

以上还有一些删除集合元素的方法这里就不逐一列举了,有兴趣小伙伴可以去网上查查。

🧧集合的运算

Python 中的集合是一个无需不重复的元素集,其支持联合(union)、交(intersection)、差(difference)、对称差集(sysmmetric difference) 等数学运算及包含关系的判断。

再次提醒:集合是无序的!  语法如下:

集合数学运算:并集("|")、交集("&")、差集("-")、补集("^")

示例代码如下👇 交集("&")

1. A = {'数学','语文','英语','物理','化学','生物'}
2. B = {'数学','语文','英语','政治','地理','历史'}
3. print(A & B)

代码编译运行结果: {'英语', '语文', '数学'}

分割线示例代码如下👇 并集("|")

1. A = {'数学','语文','英语','物理','化学','生物'}
2. B = {'数学','语文','英语','政治','地理','历史'}
3. print(A | B)

代码编译运行结果:{'地理', '生物', '数学', '语文', '化学', '物理', '政治', '历史', '英语'}

分割线

示例代码如下👇 差集("-")

1. A = {'数学','语文','英语','物理','化学','生物'}
2. B = {'数学','语文','英语','政治','地理','历史'}
3. print(A - B)

代码编译运行结果: {'化学', '物理', '生物'}

分割线

示例代码如下👇 补集("^")  

1. A = {'数学','语文','英语','物理','化学','生物'}
2. B = {'数学','语文','英语','政治','地理','历史'}
3. print(A ^ B)

代码编译运行结果:{'生物', '化学', '地理', '物理', '历史', '政治'}


🎁判断集合1和集合2的包含关系

集合的包含关系:>=、<=

示例代码如下👇

1. set1 = set('abcdefg')
2. set2 = set('abcdef')
3. # 判断集合1中是否包含集合2,结果式布尔值
4. print(set1>=set2)
5. # 判断集合2中是否包含集合1
6. print(set1<=set2)

代码编译运行结果:

True (成立)
False (不成立)

目录
相关文章
|
22天前
|
Python
python集合的创建案例分享
【4月更文挑战第11天】在Python中,通过大括号或`set()`函数可创建集合。示例包括:使用大括号 `{}` 创建带元素的集合,如 `{1, 2, 3, 4, 5}`;使用 `set()` 函数从列表转换为集合,例如 `set([1, 2, 3, 4, 5])`,以及创建空集合 `set()`。当元素有重复时,集合会自动去重,如 `set([1, 2, 2, 3, 4, 4, 5])`。但尝试将不可哈希元素(如列表、字典)放入集合会引发 `TypeError`。
22 1
|
22天前
|
Python
python集合的转换案例
在Python中,集合是一种无序且元素唯一的数据结构。以下展示了将不同数据类型转换为集合的方法:1) 列表转集合如`[1, 2, 3, 4, 5]`变为`{1, 2, 3, 4, 5}`;2) 元组转集合如`(1, 2, 3, 4, 5)`同样变为`{1, 2, 3, 4, 5}`;3) 字符串转集合如&quot;hello&quot;变为`{&#39;h&#39;, &#39;e&#39;, &#39;l&#39;, &#39;o&#39;}`;
30 1
|
22天前
|
索引 Python 存储
Python 04 之变量【列表,元组,集合,字典,字符串】
Python 04 之变量【列表,元组,集合,字典,字符串】
66 0
Python 04 之变量【列表,元组,集合,字典,字符串】
|
17天前
|
数据采集 关系型数据库 MySQL
2024年最全python进阶系列- 04 集合,2024年最新哈希表 面试
2024年最全python进阶系列- 04 集合,2024年最新哈希表 面试
|
17天前
|
开发工具 Python 容器
2024年最全python进阶系列- 04 集合(1),面试高频问题回答
2024年最全python进阶系列- 04 集合(1),面试高频问题回答
2024年最全python进阶系列- 04 集合(1),面试高频问题回答
|
22天前
|
Python
【Python操作基础】——集合
【Python操作基础】——集合
|
6天前
|
索引 Python
Python集合的定义与操作详解
Python集合的定义与操作详解
4 1
|
16天前
|
存储 Python 容器
Python 基础 笔记(八) 容器---元组、字典、集合
Python 基础 笔记(八) 容器---元组、字典、集合
25 4
|
19天前
|
Python
两个list集合合并成一个python教程 - 蓝易云
在这两种方法中,加号会创建一个新的列表,而extend方法则会在原地修改列表。
18 0
|
20天前
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试