Python基础数据结构详解
Python基础数据结构详解从字符串到字典的全面指南Python作为一门简洁高效的编程语言其内置的数据结构为日常编程提供了强大的支持。本文将深入探讨Python中最常用的几种基础数据结构字符串str、列表list、元组tuple、字典dict和集合set帮助初学者快速掌握它们的定义、使用方法和常见操作。一、字符串str文本处理的基础1.1 定义与创建字符串是由零个或多个字符组成的有序字符序列用于表示文本信息。在Python中字符串是不可变的数据类型一旦创建便无法直接修改其中的字符。创建字符串的三种常用方式# 单引号创建str1Hello, World!# 双引号创建支持字符串内包含单引号str2Its a beautiful day# 三引号创建支持多行字符串str3这是一个 多行字符串 示例1.2 常用函数与操作字符串支持丰富的操作函数以下是几个核心方法长度获取len()函数返回字符串字符数textPythonprint(len(text))# 输出6大小写转换upper()转大写lower()转小写msgHello Pythonprint(msg.upper())# 输出HELLO PYTHONprint(msg.lower())# 输出hello python查找与替换find()查找子串位置replace()替换子串sentenceI like programming in Pythonprint(sentence.find(Python))# 输出20new_sentencesentence.replace(Python,Java)print(new_sentence)# 输出I like programming in Java字符串分割split()按指定分隔符拆分字符串dataapple,banana,orangefruitsdata.split(,)print(fruits)# 输出[apple, banana, orange]二、列表list灵活的数据容器2.1 定义与创建列表是由一系列按特定顺序排列的元素组成的可变序列支持存储不同类型的数据。创建列表的两种方式# 方括号直接创建list1[1,2,3,a,b]# 使用list()函数转换list2list(hello)# 输出[h, e, l, l, o]2.2 常用函数与操作列表的灵活性体现在其丰富的操作方法上增删元素append()末尾添加insert()指定位置插入pop()删除末尾元素fruits[apple,banana]fruits.append(orange)# 列表变为[apple, banana, orange]fruits.insert(1,grape)# 列表变为[apple, grape, banana, orange]last_fruitfruits.pop()# 删除orangelast_fruit的值为orange列表排序sort()对列表进行永久排序numbers[3,1,4,1,5,9]numbers.sort()print(numbers)# 输出[1, 1, 3, 4, 5, 9]列表切片通过切片获取子列表letters[a,b,c,d,e]sub_lettersletters[1:4]# 获取索引1到3的元素print(sub_letters)# 输出[b, c, d]三、元组tuple不可变的序列3.1 定义与创建元组与列表类似也是有序的元素集合但元组是不可变的数据类型创建后不能修改。创建元组的两种方式# 圆括号直接创建元素后加逗号tuple1(1,2,3)single_element_tuple(4,)# 单元素元组必须加逗号# 省略括号创建不推荐可读性差tuple21,2,33.2 常用函数与操作由于元组的不可变性其操作相对较少元素访问通过索引访问元素colors(red,green,blue)print(colors)# 输出green元组解包将元组元素赋值给多个变量point(10,20)x,ypointprint(fx坐标为{x}, y坐标为{y})# 输出x坐标为10, y坐标为20计数与查找count()统计元素出现次数index()查找元素位置nums(1,2,3,2,1)print(nums.count(2))# 输出2print(nums.index(3))# 输出2四、字典dict键值对的映射4.1 定义与创建字典是通过键key来访问值value的无序集合键必须是不可变类型如字符串、数字、元组。创建字典的三种方式# 花括号直接创建dict1{name:Alice,age:25}# 使用dict()函数转换dict2dict(nameBob,age30)# 从键值对列表创建dict3dict([(name,Charlie),(age,35)])4.2 常用函数与操作字典提供了高效的键值对管理功能访问与修改通过键访问或修改值person{name:Tom,age:20}print(person[name])# 输出Tomperson[age]21# 修改age的值增删键值对直接赋值添加新键值对del删除键值对person[city]Beijing# 添加新键值对delperson[age]# 删除age键值对字典遍历keys()遍历所有键values()遍历所有值items()遍历所有键值对forkey,valueinperson.items():print(f{key}:{value})五、集合set无序不重复元素集5.1 定义与创建集合是由不重复元素组成的无序容器主要用于成员关系测试和去重操作。创建集合的两种方式# 花括号直接创建注意与字典区分set1{1,2,3,4}# 使用set()函数从列表转换set2set([1,2,2,3,4])# 输出{1, 2, 3, 4}自动去重5.2 常用函数与操作集合支持丰富的数学集合运算集合运算并集|或union()、交集或intersection()、差集-或difference()A{1,2,3}B{2,3,4}print(A|B)# 输出{1, 2, 3, 4}并集print(AB)# 输出{2, 3}交集print(A-B)# 输出{1}差集增删元素add()添加单个元素remove()删除指定元素numbers{1,2,3}numbers.add(4)# 集合变为{1, 2, 3, 4}numbers.remove(2)# 集合变为{1, 3, 4}六、数据结构对比总结数据结构可变性有序性元素要求主要用途字符串不可变有序字符文本处理列表可变有序任意类型数据集合管理元组不可变有序任意类型数据保护、固定结构字典可变无序键不可变键值对映射集合可变无序不可变类型去重、集合运算结语掌握Python基础数据结构是编程学习的关键一步。字符串处理文本列表管理序列元组保护数据字典实现映射集合处理唯一性——每种结构都有其独特的应用场景。建议初学者通过实际项目练习逐步熟悉这些数据结构的特性和用法为更复杂的编程任务打下坚实基础。

相关新闻

销售预测实战:用时间序列分解与SARIMAX提升准确率

销售预测实战:用时间序列分解与SARIMAX提升准确率

1. 项目概述:为什么销售预测不能只靠“拍脑袋”,而必须深挖时间序列的底层逻辑做销售预测这件事,我干了快十二年,从最早拿Excel拉移动平均线,到后来用Python写完整pipeline跑SARIMA,再到如今在生产环境里维…

2026/7/3 4:47:15 阅读更多 →
质量好的全屋定制厂商名声

质量好的全屋定制厂商名声

我在宝鸡做了12年全屋定制,从2014年开店,到2017年自建工厂,再到如今服务超20000户业主,见过太多业主踩坑。今天我用真实数据和案例,拆解全屋定制行业的4个“潜规则”,看完能帮你省下至少三分之一预算。一、…

2026/7/3 4:45:15 阅读更多 →
2026最新实测:2026年6月什么 AI 命理软件好用?别只看它会不会说漂亮话

2026最新实测:2026年6月什么 AI 命理软件好用?别只看它会不会说漂亮话

2026最新实测:2026年6月什么 AI 命理软件好用?别只看它会不会说漂亮话 核心摘要:2026年7月2日再回答“什么 AI 命理软件好用”,不能只看排盘速度、界面漂亮或 AI 话术顺不顺。结合 2026年6月最新资料复核,第三方测评更…

2026/7/3 4:45:15 阅读更多 →

最新新闻

中伟视界:复合化工皮带异物检测 AI 系统,YOLOv12-MSA + 无监督异常检测,0.5 秒边缘实时识别落地实践

中伟视界:复合化工皮带异物检测 AI 系统,YOLOv12-MSA + 无监督异常检测,0.5 秒边缘实时识别落地实践

在复合化工企业的生产流程中,皮带输送系统承担原料转运核心任务。原料开采、装卸、堆放、运输全流程极易混入金属碎片、铁丝、木块、塑料、易燃易爆杂物。异物进入产线轻则堵塞溜槽、增加能耗,重则撕裂皮带,引发非计划停机与安全生产事故。传…

2026/7/3 5:41:29 阅读更多 →
可靠的添加剂包装机厂家,源头直供品质稳定

可靠的添加剂包装机厂家,源头直供品质稳定

添加剂包装机:寻找源头直供背后的品质稳定逻辑在精细化生产与严格品控并重的今天,添加剂行业的包装环节早已不是简单的“装袋”动作。它关乎物料损耗、生产环境安全,更直接影响产品的最终交付质量。当众多采购方将目光投向“源头直供”的可靠…

2026/7/3 5:39:28 阅读更多 →
python自动化提取网页数据(火狐浏览器版)

python自动化提取网页数据(火狐浏览器版)

利用selenium库配合火狐驱动实现自动化,额外加pyautogui库实现并行操作;pandas库保存网页数据,实现方式如下:from bs4 import BeautifulSoup from selenium import webdriver #from selenium.webdriver.chrome.options import Opt…

2026/7/3 5:39:28 阅读更多 →
【课程设计/毕业设计】基于 Python 的图书销售用户消费数据可视化系统设计与实现 基于 Echarts 大屏的智慧图书零售监测管理系统设计与实现【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 Python 的图书销售用户消费数据可视化系统设计与实现 基于 Echarts 大屏的智慧图书零售监测管理系统设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/3 5:37:27 阅读更多 →
STM32 定时器实战记录(二)—— 输出比较(Output Compare)模式详解

STM32 定时器实战记录(二)—— 输出比较(Output Compare)模式详解

在上一篇中,我们从“时基单元”出发,搞清楚了定时器是如何计数的。本篇我们不写实验,只回答一个问题:定时器除了计数,还能做什么?​答案是:输出比较(Output Compare,简称…

2026/7/3 5:37:27 阅读更多 →
计算机Python毕设实战-基于 Python 与 Echarts 的图书销量数据分析平台设计与实现 基于 Echarts 可视化的图书零售运营【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Python毕设实战-基于 Python 与 Echarts 的图书销量数据分析平台设计与实现 基于 Echarts 可视化的图书零售运营【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/3 5:37:27 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻