当前位置: 首页 > news >正文

Python基础教程(十一):数据结构汇总梳理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!

文章目录

    • 引言
      • 1. 列表(List)
      • 2. 元组(Tuple)
      • 3. 字典(Dictionary)
      • 4. 集合(Set)
    • 结论
    • 结束语

引言

在编程的世界里,数据结构是构建高效算法和软件系统的基础。Python,作为一种广泛使用的高级编程语言,提供了丰富的内置数据结构,使得处理数据变得既直观又强大。本文将深入探讨Python中的主要数据结构类型,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set),并通过具体案例来展示它们的应用场景。

1. 列表(List)

定义:列表是最常用的数据结构之一,它是一个有序的元素集合,可以存储任意类型的元素,并且允许重复。

特点

  • 可变性:列表是可变的,意味着可以在列表创建后添加、删除或修改其中的元素。
  • 索引:列表中的每个元素都有一个对应的索引,从0开始计数。

案例:假设我们需要维护一个学生名单,记录每位学生的姓名和成绩。

students = ["Alice", "Bob", "Charlie"]
scores = [90, 85, 88]# 添加新学生
students.append("David")
scores.append(92)# 修改某个学生的成绩
scores[1] = 87# 删除学生
del students[0]
del scores[0]# 打印当前学生名单和成绩
print(students)
print(scores)

2. 元组(Tuple)

定义:元组与列表相似,但它是不可变的,一旦创建就无法更改。

特点

  • 不可变性:元组创建后不能被修改,这使得它在需要确保数据不变的情况下非常有用。
  • 性能:由于不可变性,元组在某些情况下比列表更节省内存,运行速度也更快。

案例:假设我们有一个坐标点集合,每个点由其x和y坐标组成。

points = [(1, 2), (3, 4), (5, 6)]# 访问元组中的元素
print(points[0])       # 输出 (1, 2)
print(points[0][1])    # 输出 2# 遍历元组集合
for x, y in points:print(f"Point: ({x}, {y})")

3. 字典(Dictionary)

定义:字典是一种键值对的集合,其中每个键都是唯一的,用于快速查找值。

特点

  • 键唯一:字典中的键不能重复,如果尝试插入相同的键,后一个值将会覆盖前一个。
  • 快速查找:字典提供O(1)时间复杂度的查找性能。

案例:假设我们想要管理一个图书馆的图书信息,包括书名和作者。

library = {"The Great Gatsby": "F. Scott Fitzgerald","To Kill a Mockingbird": "Harper Lee"
}# 添加新书
library["1984"] = "George Orwell"# 查找作者
author = library["To Kill a Mockingbird"]
print(author)# 删除书籍
del library["The Great Gatsby"]# 遍历字典
for title, author in library.items():print(f"{title} by {author}")

4. 集合(Set)

定义:集合是一个无序的、不重复的元素集合。

特点

  • 唯一性:集合中的元素必须是唯一的,重复的元素在插入时会被自动去除。
  • 无序性:集合中的元素没有固定的顺序,因此不能通过索引访问。

案例:假设我们有一份待办事项清单,但不想有重复的任务。

tasks = {"Buy milk", "Walk the dog", "Pay bills", "Buy milk"}# 集合自动去重
print(tasks)  # 输出 {'Buy milk', 'Walk the dog', 'Pay bills'}# 添加任务
tasks.add("Read book")# 移除任务
tasks.remove("Walk the dog")# 检查任务是否存在
if "Pay bills" in tasks:print("Remember to pay your bills!")

结论

Python的内置数据结构提供了强大的功能,使开发者能够高效地管理和操作数据。理解并熟练运用这些数据结构对于编写高质量的Python代码至关重要。通过本文的介绍和案例分析,相信你已经掌握了Python数据结构的基本概念和使用方法。接下来,实践是检验学习成果的最佳方式,尝试在自己的项目中应用这些数据结构吧!


结束语

喜欢博主的同学,请给博主一丢丢打赏吧↓↓↓您的支持是我不断创作的最大动力哟!感谢您的支持哦😘😘😘
打赏下吧

💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!

python相关文章索引文章链接
Python基础语法(一):标识符与保留字部分Python基础语法(一):标识符与保留字部分
Python基础语法(二):数据类型Python基础语法(二):数据类型
Python基础语法(三):运算符Python基础语法(三):运算符
Python基础语法(四):条件控制Python基础语法(四):条件控制
Python基础语法(五):循环语句Python基础语法(五):循环语句
Python基础语法(六):推导式编程Python基础语法(六):推导式编程
Python基础教程(七):函数编程-从基础到进阶Python基础教程(七):函数编程-从基础到进阶
Python基础教程(八):迭代器与生成器编程Python基础教程(八):迭代器与生成器编程
Python基础教程(九):Lambda 函数Python基础教程(九):Lambda 函数
Python基础教程(十):装饰器Python基础教程(十):装饰器

❤️❤️❤️觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

相关文章:

Python基础教程(十一):数据结构汇总梳理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…...

制造型企业图纸泄露问题,如何从根源解决核心文件资料泄露问题?

制造型企业最核心重要的文件当然是图纸,图纸在制造型企业中起到关键主导地位,如果图纸泄露与研发性企业源代码被泄露一样的严重,制造型企业如何保护核心图纸不被外泄是企业在日常经营过程中的重要组成部分,现在有很多防止泄露的产…...

英伟达最新GPU和互联路线图分析

Nvidia在计算、网络和图形领域独树一帜,其显著优势在于雄厚的资金实力及在生成式人工智能市场的领先地位。凭借卓越的架构、工程和供应链,Nvidia能够自由实施创新路线图,引领行业未来。 到 21 世纪,Nvidia 已经是一个非常成功的创…...

Github 2024-06-10 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-06-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目2Go项目2PHP项目1Blade项目1TypeScript项目1Lua项目1Dart项目1Swift项目1Cuda项目1Python项目1MDX项目1Ventoy: 100%开源的可启动USB解决方…...

前后端分离项目中Spring Boot返回的时间与前端相差8个小时

概述 今天在做一个前后端分离项目时,发现从后端获取的时间与从数据库获取的时间相差八个小时,最终排查后发现由于Springboot使用本地时区导致,修改SpringBoot时区后解决 环境 MySQL8SpringBoot 原因排查 发现从后端获取的数据总是比前端快八个小时 …...

stm32MP135裸机编程:使用USB/UART烧录程序到SD卡并从SD卡启动点亮一颗LED灯

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf STM32CubeProgrammer v2.16.0 烧录需要的二进制文件1 烧录到SD卡需要哪些文件 参考《轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序》,烧录需要的SD卡文件如下: &a…...

【NoSQL数据库】Redis Cluster集群(含redis集群扩容脚本)

Redis Cluster集群 Redis ClusterRedis 分布式扩展之 Redis Cluster 方案功能数据如何进行存储 redis 集群架构集群伸缩向集群中添加一个新的master节点,并向其中存储 num10 .脚本对redis集群扩容缩容,脚本参数为redis集群,固定从6001移动200…...

重邮计算机网络803-(2)物理层

一.物理层 1.介绍 物理层的主要任务描述为确定与传输媒体的接口的一些特性,即: ①机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 ②电气特性 指明在接口电缆的各条线上出现的电压的范围。 ③功能特性 指明某条线上…...

uniapp使用webview内嵌H5的注意事项

一、描述 uniapp项目中构建app,需要内嵌H5页面,在使用webview时,遇到了以下几个问题: 内嵌H5,默认全屏显示;内嵌页面遮挡住了app的自定义tabbar组件;样式修改无效; 二、解决方案&a…...

现代 C++的高效并发编程模式

现代C提供了许多高效的并发编程模式,以满足日益增长的多核和分布式系统的需求。以下是一些常用的高效并发编程模式: 异步编程:使用std::async来创建异步任务,可以在后台执行任务,将结果返回给调用者。 并行编程&#…...

汇编语言作业(五)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、 实验总结 一、实验目的 1.熟悉掌握汇编语言的程序结构,能正确书写数据段、代码段等 2,利用debug功能,查看寄存器(CS,IP,AX,DS..)及数据段的…...

收音机的原理笔记

1. 收音机原理 有线广播:我们听到的声音是通过空气振动进行传播,因此可以通过麦克风(话筒)将这种机械振动转换为电信号,传到远处,再重新通过扬声器(喇叭)转换为机械振动&#xff0c…...

排序算法案例

排序算法概述 排序算法是计算机科学中的一个重要主题,用于将一组数据按特定顺序排列。排序算法有很多种,每种算法在不同情况下有不同的性能表现。不同的排序算法适用于不同的场景和数据特征。在选择排序算法时,需要考虑数据规模、数据分布以…...

时间序列评价指标

评价指标 均方误差( M S E MSE MSE) 定义:预测值与实际值之间差异的平方和的平均值。公式: ( M S E 1 n ∑ i 1 n ( y i − y ^ i ) 2 ) (MSE \frac{1}{n}\sum_{i1}^{n}(y_i - \hat{y}_i)^2) (MSEn1​∑i1n​(yi​−y^​i​)…...

Docker:安装 Orion-Visor 服务器运维的技术指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 Orion-Visor 是一种用于管理和监控容器的工具。它提供了一个直观的界面,用于查看容器的状态、资源使用情况以及日志等信息。在这篇技术博客中,我们将介绍如何…...

HarmonyOS Next 系列之底部标签栏TabBar实现(三)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现(一) HarmonyOS Next 系列之验证码输入组件实现(二) HarmonyOS Next 系列之底部标签栏TabBar实现(三) 文章目录 系列文章目录前言一、实现原理二、…...

mac怎么录制屏幕?这2个方法你值得拥有

在数字化时代,屏幕录制已经成为一种常见且重要的工具,无论是教学演示、游戏直播还是会议记录,屏幕录制都发挥着不可或缺的作用。对于Mac用户而言,如何高效、便捷地进行屏幕录制,是一个值得探讨的话题,可是很…...

爱德华三坐标软件ACdmis.AC-dmis密码注册机

爱德华三坐标软件 AC-DMIS 是一款功能强大的三坐标测量软件,具有以下特点: • 支持多种测量模式:包括接触式测量、非接触式测量、复合式测量等,可以满足不同类型工件的测量需求。 • 高精度测量:采用先进的测量算法和…...

计算机网络 期末复习(谢希仁版本)第3章

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。局域网的传输媒体,包括有线传输媒体和无线传输媒体两个大类,那么有线传输媒体有同轴电缆、双绞线和光纤;无线传输媒体有微波、红…...

代码随想录——数组

给定一个n个元素有序(升序)的整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1. //这个题说实话从逻辑上来看实在是太简单了,但是为什么每一次我写起来都感…...

计算机网络7——网络安全4 防火墙和入侵检测

文章目录 一、系统安全:防火墙与入侵检测1、防火墙1)分组过滤路由器2)应用网关也称为代理服务器(proxy server), 二、一些未来的发展方向 一、系统安全:防火墙与入侵检测 恶意用户或软件通过网络对计算机系统的入侵或攻击已成为当今计算机安…...

html+CSS+js部分基础运用20

根据下方页面效果如图1所示&#xff0c;编写程序&#xff0c;代码放入图片下方表格内 图1.效果图 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" conte…...

ISO 19115-2:2019 附录C XML 模式实现

C.1 XML 模式 本文件中定义的 UML 模型的 XML 模式在 ISO/TS 19115-3 中定义的适当 XML 命名空间中提供。新增内容包括&#xff1a; 命名空间前缀模式文件名Metadata for ACquisition (mac)acquisitionInformationImagery.xsdMetadata for Resource Content (mrc)contentInfo…...

DevOps的原理及应用详解(一)

本系列文章简介&#xff1a; 在当今快速变化的商业环境中&#xff0c;企业对于软件交付的速度、质量和安全性要求日益提高。传统的软件开发和运维模式已经难以满足这些需求&#xff0c;因此&#xff0c;DevOps&#xff08;Development和Operations的组合&#xff09;应运而生&a…...

【冲刺秋招,许愿offer】第 三 天(水一天)

【冲刺秋招&#xff0c;许愿offer】第 二 天&#xff08;水一天&#xff09; 知识点牛客emo 知识点 今天端午&#xff0c;上午去摘杏下午理发&#xff0c;一天没咋看电脑。晚上刷刷LeetCode看看八股。 牛客 spring事务失效的情况 捕获到异常&#xff0c;自己手动处理 方法修…...

使用 C# 学习面向对象编程:第 6 部分

继承 亲爱的读者&#xff0c;继承意味着从源头继承一些东西。例如&#xff0c;儿子可以继承父亲的习惯。同样的概念也用于面向对象编程&#xff1b;它是 OOP 的第二大支柱。 继承允许创建一个新类&#xff0c;该新类继承另一个类或基类的属性&#xff0c;继承这些成员的类称为…...

分布式训练基础入门

1.单节点训练 单节点训练也会转换为等价的并行训练&#xff0c;如在GPU内同一wrap内的32个Thread执行同一指令&#xff0c;但处理不同的数据。 训练程序往往实现了一个多层神经网络的执行过程。该神经网络的执行由一个计算图&#xff08;Computational Graph&#xff09;表示。…...

AWS S3存储桶中如何下载文件

AWS S3存储桶中如何下载文件 1.单个下载 AWS S3 控制台提供了下载单个文件的功能&#xff0c;但是不支持直接在控制台中进行批量下载文件。您可以通过以下步骤在 AWS S3 控制台上下载单个文件&#xff1a;   1.1登录 AWS 管理控制台。   1.2转到 S3 服务页面。   1.3单击…...

「网络原理」三次握手四次挥手

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;计网 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 三次握手&四次挥手 &#x1f349;连接管理&#x1f34c;三次握手&#x1f34c;意义&#x1f34c;四次挥手&#x1f34c;TCP 状态转换…...

第二十四章 SOAP 错误处理 - 发生故障时添加 WS-Addressing 标头元素

文章目录 第二十四章 SOAP 错误处理 - 发生故障时添加 WS-Addressing 标头元素%SOAP.Fault12.Code 属性SubcodeValue %SOAP.Fault12.Text 属性Textlang 发生故障时添加 WS-Addressing 标头元素 第二十四章 SOAP 错误处理 - 发生故障时添加 WS-Addressing 标头元素 %SOAP.Fault…...

公司官网怎么建立/seo 网站推广

各国央行应如何应对数字技术的挑战&#xff1f;这已成为一个紧迫的问题。部分原因是&#xff0c;各国央行和政府都必须掌控这个私营货币泛滥的新蛮荒时代。现在&#xff0c;它们必须推出自己的数字货币。 试想在不使用纸币的情况下&#xff0c;所有的付款行为将如何实现&#…...

西安网站托管排名/aso具体优化

一、准备&#xff1a; 1.1、GOPATH目录下的bin文件夹添加系统path变量中。 添加后可直接在任意位置控制台中直接调用bin目录下的可执行程序。 1.2、准备好自己的程序ico图标文件&#xff0c;放在main.go同级目录。 下文中提到的&#xff1a;控制台运行命令&#xff0c;都是在…...

外国人做的汉字网站/12345微信公众号

有的时候我们在使用ES时&#xff0c;由于资源有限或业务需求&#xff0c;我们只想保存最近一段时间的数据&#xff0c;所以有如下脚本可以定时删除数据 delete_es_by_day.sh #!/bin/sh # example: sh delete_es_by_day.sh logstash-kettle-log logsdate 30index_name$1 daycol…...

网站开发需会的课程/青岛网站建设公司电话

4.1 开发完第一个鸿蒙应用后&#xff0c;下面在了解一下完整的鸿蒙应用打包发布后应该是什么样子&#xff1a;一个完整的打包后应用结构如下图所示&#xff0c;这里我们先了解结构&#xff0c;具体怎么打包很简单只要前提是要签名!1. HAP的分类HAP又可分为entry和feature两种模…...

茂名网站建设解决方案/今日新闻快讯10条

Backup Exec 2012 相对之前的版本2010有了很大的变化,最为明显的就是管理控制台界面。管理界面包括"主页"、"备份和还原"、"存储"、"报告",以及“Backup Exec ” 选项按钮.相比早起的BE2010 各小版本界面也更美观了。1. 软件组成ISO 文…...

网站提交至google/谷歌自然排名优化

这里介绍的就是 MSF 的一些简单的基本使用&#xff0c;创始人 HD 摩尔曾说谁为 MS 写教程其实就是自作自受&#xff0c;纯属找虐&#xff0c;因为真的变化太快了&#xff0c;所以这里所写使一些基本功能&#xff0c;其余的需要自己去摸索… !!! 但虽然这样&#xff0c;还是有人…...