集合的简介 | Python从入门到精通:进阶篇之十七

简介: 本节的重点介绍集合的一些基本操作方法,包括创建、删除、清空、浅复制等。

字典的遍历 | Python从入门到精通:进阶篇之十六

集合(set)

集合和列表非常相似,都是在对象中存储数据。但也有不同点。

  1. 集合中只能存储不可变对象
  2. 集合中存储的对象是无序(不是按照元素的插入顺序保存)
  3. 集合中不能出现重复的元素

关于操作方法,在官网文档中查找。

image.png

创建集合 {}

# 使用 {} 来创建集合
s = {10,3,5,1,2,1,2,3,1,1,1,1} # <class 'set'>
#s = {[1,2,3],[4,6,7]} TypeError: unhashable type: 'list'

print(s,type(s))

执行结果:

image.png
image.png

集合当中只能存储不可变对象。

创建集合 set()

# 使用 set() 函数来创建集合
s = set() # 空集合
# 可以通过set()来将序列和字典转换为集合
s = set([1,2,3,4,5,1,1,2,3,4,5])
s = set('hello')
s = set({'a':1,'b':2,'c':3}) # 使用set()将字典转换为集合时,只会包含字典中的键

print(s,type(s))

执行结果:

image.png
image.png
image.png
image.png

创建集合

# 创建集合
s = {'a' , 'b' , 1 , 2 , 3}

print(s,type(s))
#print(s[0])  集合不可以通过索引去操作
print(list(s)[0]) #如果需要通过索引去操作,则需要先将集合转换成列表

执行结果:

image.png
image.png
image.png

检查集合中的元素 in/not in

# 使用in和not in来检查集合中的元素
# print('a' in s)
print('c' in s)

执行结果:

image.png
image.png

获取集合中元素的数量 len()

# 使用len()来获取集合中元素的数量
print(len(s))

执行结果:

image.png

添加元素 add()

# add() 向集合中添加元素
s.add(10)
s.add(30)

print(s,type(s))

执行结果:

image.png

添加元素 update()

# update() 将一个集合中的元素添加到当前集合中
#   update()可以传递序列或字典作为参数,字典只会使用键
s2 = set('hello')
s.update(s2)
s.update((10,20,30,40,50))
s.update({10:'ab',20:'bc',100:'cd',1000:'ef'})

print(s,type(s))

执行结果:

image.png
image.png
image.png

删除 pop()

# pop()随机删除并返回一个集合中的元素
#s.pop()
result = s.pop()

print(reult)
print(s,type(s))

执行结果:

image.png
image.png

删除元素 remove()

# remove()删除集合中的指定元素
s.remove(100)
s.remove(1000)

print(s,type(s))

执行结果:

image.png

清空集合 clear()

# clear()清空集合
s.clear()

执行结果:

image.png

浅复制 copy()

# copy()对集合进行浅复制

s2 = s.copy()

以上是集合的基本介绍。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
6天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
29 0
|
9天前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
22 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1天前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
32 3
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
5天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
11 1
|
7天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
32 2
|
9天前
|
程序员 PHP Python
Python3 简介
【10月更文挑战第8天】Python3 简介。
14 4
|
6天前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
38 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
5天前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从入门到精通Python,打好 LLM大模型的基础
Python学习圣经:从0到1精通Python,打好AI基础
|
5天前
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
13 0