Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—背上我的行囊—集合(1)(十七)

简介: 玩转Python语法(一):面向过程

4.4 集合

集合也是 Python 的数据结构之一,集合是无序可变序列,和字典一样,使用一对大括号{}作为界定符,元素之间通过,相隔,并且集合中的每一个元素都是唯一的,你可以理解为集合为没有值(value),只有键(key)的字典,字典中的元素只能为不可变的数据类型,如:数字,字符串,元组;像列表,字典,集合这种可变的数据类型不可以作为集合的元素


4.4.1 集合的创建与删除

🚩字典的创建:我们可以直接使用赋值运算符 “=”,直接把一个集合常量(用{}表示集合,字典的元素之间用,隔开)赋值给变量,即:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/13 19:28
# 欢迎大家关注AIoT相关博客~
a = {1, 2, (3, 4), '567'}
print(a, type(a))

image.png

我们还可以使用 set() 函数去创建一个集合:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/13 19:28
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a, type(a))
print(set([1, 2, 3, 4, 5])) # 把列表转为集合
# 如果列表中有重复的元素:
print(set([1, 1, 1]))       # 自动去重
print(set((3,)))            # 把元组转为结合
print(set('Python'))        # 将字符串转为集合
# 因为集合是无序的,故输出结果不一定是 Python 的顺序
'''
创建一个空集合:
我们如果按照以往的思维的话,会发现我们创建的其实是一个字典
'''
b = {}
print(type(b))
print(('--------创建一个空集合--------'))
c = set()
print(type(c))

image.png

我们用 del 指令可以删除集合:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/13 19:43
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
del a
print(a)

image.png

4.4.2 集合元素的增加与删除

1️⃣ 判断元素是否在集合中可以用 in 和 not in:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/13 22:31
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(0 in a)
print(0 not in a)

image.png

2️⃣ 集合元素增加:我们可以使用 add() 方法增加新的元素,如果元素已经存在则忽略这次操作;update() 方法可以将另一个集合中的元素到当前的集合之中,并且有自动去重的功能

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/13 22:31
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a)
a.add(11)
print(a)
b = set(range(5, 15))
a.update(b)
print(a)

image.png

3️⃣ 集合对象的删除:删除集合的对象我们介绍四个方法:remove(),discard(),pop(),clear(),我们用代码去逐个讲解:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 12:33
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a)
a.remove(0)
print(a)
a.remove(10)
print(a)

image.png

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 12:33
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a)
a.discard(0)
print(a)
a.discard(10)
print(a)

image.png

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 12:33
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a)
# pop() 中不可以传参数,pop()删除的是第一个元素
a.pop()
print(a)
a.pop()
print(a)

image.png

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 12:33
# 欢迎大家关注AIoT相关博客~
a = set(range(10))
print(a)
a.clear()
print(a)
for i in range(10):
    print(i in a, end = ' ')

image.png


目录
相关文章
|
18天前
|
Java 编译器 C语言
Python速成篇(基础语法)上
Python速成篇(基础语法)上
|
11天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
53 0
|
11天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作
|
11天前
|
Python
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
|
12天前
|
Python
python学习8-集合
python学习8-集合
|
18天前
|
存储 监控 Java
Python速成篇(基础语法)下(新年快乐♥)
Python速成篇(基础语法)下(新年快乐♥)
|
25天前
|
Java C语言 C++
【Python】5. 基础语法(3) -- 函数篇
【Python】5. 基础语法(3) -- 函数篇
26 1
|
25天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
41 1
|
1月前
|
Python
掌握Python中的集合推导式
掌握Python中的集合推导式
|
1月前
|
Python
探索Python集合推导式的进阶应用
探索Python集合推导式的进阶应用