小白学 Python(14):基础数据结构(集合)(上)
人生苦短,我选Python
前文传送门
集合
首先了解一下什么是集合?
集合(set)是一个无序的不重复元素序列。
注意关键词:无序、不重复。
集合和字典一样,是无序的,so:
{3, 2, 1} 和 {1, 2, 3} 是一样的。
集合的元素不可重复,so:
{1, 2, 2} 是不存在的,只会存在 {1, 2}。
集合里的元素需要是不可变类型。
创建集合
一般来讲,我们创建集合会使用大括号 {}
或者 set()
函数来创建集合。
注意: 创建一个空集合必须用 set()
而不是 {}
,因为 {}
是用来创建一个空字典。
# 演示集合不可变元素
set1 = {1, 2, 3, 'Python', (1, 'geekdigging')}
print(set1)
print(type(set1))
# 演示不可重复
set2 = {1, 2, 2}
print(set2)
# 演示空集合
set3 = set()
print(set3)
print(type(set3))
结果如下:
{1, 2, 3, (1, 'geekdigging'), 'Python'}
<class 'set'>
{1, 2}
set()
<class 'set'>
使用列表 list 创建集合
除了上面的直接创建集合外,我们还可以通过列表 list 来直接创建集合,并且这种方式可以直接去重。
# 使用 list 创建集合
list1 = [1, 1, 2, 2, 3, 4]
set4 = set(list1)
print(set4)
结果如下:
{1, 2, 3, 4}
使用元组 tuple 创建集合
我们还可以通过元组 tuple 来创建集合,同样可达到元素去重的效果。
# 使用 tuple 创建集合
tup1 = (1, 1, 2, 2, 3, 4)
set5 = set(tup1)
print(set5)
结果如下:
{1, 2, 3, 4}
使用字符串创建集合
# 使用字符串创建集合
str1 = 'geekdigging'
set6 = set(str1)
print(set6)
结果如下:
{'i', 'n', 'g', 'e', 'd', 'k'}
可以看到,这里是字符串的每一个字符都变成了集合中的一个元素。
本篇内容比较少,希望各位同学还是可以自己动手敲一下示例代码,俗话说的好,好记性不如烂键盘,如果不把一块键盘敲烂,那么你的代码是学不好的:)
示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
扫描二维码关注「极客挖掘机」公众号!
作者:极客挖掘机
定期发表作者的思考:技术、产品、运营、自我提升等。
本文版权归作者极客挖掘机和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果您觉得作者的文章对您有帮助,就来作者个人小站逛逛吧:极客挖掘机
作者:极客挖掘机
定期发表作者的思考:技术、产品、运营、自我提升等。
本文版权归作者极客挖掘机和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果您觉得作者的文章对您有帮助,就来作者个人小站逛逛吧:极客挖掘机
分类:
Alibaba
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?