Python入门第二篇:列表、元组与字符串的进阶操作
上一篇介绍了Python的环境搭建和基础语法。本篇将深入讲解Python中的核心数据结构——列表、元组、字典和集合这些是组织和管理数据的核心工具掌握它们是从“写出代码”到“写出有用代码”的关键一步。一、列表有序可变的序列列表是Python中最常用的数据结构用于存储有序的、可变的元素集合。列表用方括号[]表示元素之间用逗号分隔。pythonfruits [apple, banana, cherry] numbers [1, 2, 3, 4, 5] mixed [1, hello, 3.14, True] # 列表可以混合不同类型 empty [] # 空列表访问元素通过索引访问索引从0开始。负索引从末尾开始计数-1是最后一个元素。pythonprint(fruits[0]) # apple print(fruits[-1]) # cherry print(fruits[1:3]) # [banana, cherry] 切片操作切片是列表操作的重要特性list[start:end:step]包含start不包含end。pythonnumbers [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[2:6]) # [2, 3, 4, 5] print(numbers[:5]) # [0, 1, 2, 3, 4] print(numbers[5:]) # [5, 6, 7, 8, 9] print(numbers[::2]) # [0, 2, 4, 6, 8] step为2修改列表列表是可变的可以修改任意位置的元素。pythonfruits[1] blueberry # 修改元素 fruits.append(orange) # 在末尾添加 fruits.insert(0, grape) # 在指定位置插入 fruits.remove(apple) # 删除第一个匹配的元素 popped fruits.pop() # 弹出并返回最后一个元素 del fruits[0] # 删除指定位置的元素列表推导式是Python独特的简洁语法用于从现有列表创建新列表pythonsquares [x**2 for x in range(10)] # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] evens [x for x in range(20) if x % 2 0] # 带条件筛选二、元组不可变的序列元组与列表类似但一旦创建就不能修改。元组用圆括号()表示。pythoncoords (10, 20) person (Alice, 25, Engineer) single (42,) # 单个元素的元组需要加逗号 empty () # 空元组元组的主要用途作为字典的键列表不可以保护数据不被意外修改函数返回多个值时使用pythonx, y coords # 元组解包 print(x, y) # 10 20 # 解包也可以用于列表 a, b, c [1, 2, 3]三、字典键值对的映射字典是Python中另一种重要的数据结构用于存储键值对通过键快速访问值。字典用花括号{}表示。pythonperson { name: Bob, age: 30, city: New York } print(person[name]) # Bob print(person.get(age, 0)) # 30get方法可以指定默认值字典操作pythonperson[job] Engineer # 添加新键值对 person[age] 31 # 修改已有键的值 del person[city] # 删除键值对 # 遍历字典 for key in person: print(key, person[key]) for key, value in person.items(): print(f{key}: {value}) # 检查键是否存在 if name in person: print(Name exists)四、集合无序不重复的元素集合用于存储不重复的元素适合去重和集合运算并集、交集、差集。集合用花括号{}表示。pythoncolors {red, green, blue} mixed {1, 2, hello} # 混合类型可以 empty set() # 空集合不能使用{}因为{}被字典占用 # 添加和移除 colors.add(yellow) colors.remove(red) # 如果元素不存在会报错 colors.discard(purple) # 如果元素不存在不会报错 # 集合运算 set1 {1, 2, 3, 4} set2 {3, 4, 5, 6} print(set1 | set2) # 并集 {1,2,3,4,5,6} print(set1 set2) # 交集 {3,4} print(set1 - set2) # 差集 {1,2} print(set1 ^ set2) # 对称差集 {1,2,5,6}五、字符串的进阶操作字符串是不可变的字符序列提供了丰富的操作方法。字符串方法pythontext Hello, World! print(text.strip()) # Hello, World! 去除首尾空白 print(text.lower()) # hello, world! print(text.upper()) # HELLO, WORLD! print(text.replace(World, Python)) # 替换 print(text.split(,)) # [ Hello, World! ] # 判断方法 print(text.isdigit()) # 是否全是数字 print(text.isalpha()) # 是否全是字母 print(text.startswith(Hello)) # True print(text.endswith(!)) # True格式化字符串有多种方式pythonname Alice age 25 # f-stringPython 3.6推荐 print(fName: {name}, Age: {age}) # format方法 print(Name: {}, Age: {}.format(name, age)) # 旧式%格式化 print(Name: %s, Age: %d % (name, age))六、遍历数据结构的多种方式python# 遍历列表 fruits [apple, banana, cherry] for fruit in fruits: print(fruit) # 带索引遍历 for i, fruit in enumerate(fruits): print(f{i}: {fruit}) # 同时遍历多个列表 names [Alice, Bob, Charlie] ages [25, 30, 35] for name, age in zip(names, ages): print(f{name} is {age} years old)七、常见错误与最佳实践IndexError: list index out of range索引越界检查列表长度KeyError访问了字典中不存在的键使用get()方法可以避免列表在循环中修改时可能导致意外行为应使用切片或新列表使用in操作符检查元素是否存在避免直接访问可能不存在的索引或键使用copy()方法复制列表防止引用传递的混淆八、小结本篇介绍了Python中四种核心数据结构列表、元组、字典和集合并扩展了字符串操作的常用方法。列表适合存储有序可变序列元组适合存储不可变数据字典适合通过键快速查找值集合适合去重和集合运算。这些数据结构是编写Python程序的基础工具建议在实际编码中反复练习。下一篇将介绍文件操作和异常处理机制。

相关新闻

Reloaded-II:游戏模组管理的革命性解决方案,告别混乱迎接统一

Reloaded-II:游戏模组管理的革命性解决方案,告别混乱迎接统一

Reloaded-II:游戏模组管理的革命性解决方案,告别混乱迎接统一 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 你是否曾为…

2026/9/22 17:50:27 阅读更多 →
告别命令行:Hyper-V设备直通的图形化革命

告别命令行:Hyper-V设备直通的图形化革命

告别命令行:Hyper-V设备直通的图形化革命 【免费下载链接】DDA 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-Vs Discrete Device Assignment(DDA). 项目地址: https://gitcode.com/gh_mirrors/dd/DDA 还在为复杂的PowerShell命令而头…

2026/9/21 12:29:06 阅读更多 →
3步搞定智能文档编排:OneMore大纲编号的完整解决方案

3步搞定智能文档编排:OneMore大纲编号的完整解决方案

3步搞定智能文档编排:OneMore大纲编号的完整解决方案 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore 还在为OneNote文档的层级结构混乱而烦恼?…

2026/9/22 13:25:08 阅读更多 →

最新新闻

3个细节教你搞定优秀事迹怎么写新手避坑指南

3个细节教你搞定优秀事迹怎么写新手避坑指南

3个细节教你搞定优秀事迹怎么写新手避坑指南 面试现场,面试官盯着你的简历问:“你那个‘优秀事迹’具体怎么落地的?底层逻辑是什么?”你脑子一抽,只记得写了“工作认真、业绩突出”,却答不上来具体的量化指标、技术难点或业务闭环原理。别慌,这种“背…

2026/9/22 19:42:41 阅读更多 →
等待图片面试必问

等待图片面试必问

拒绝死等:手写实现异步加载,搞定图片等待难题 配置环境就卡半天,这是很多刚入行嵌入式开发的兄弟最真实的写照。 你盯着屏幕,代码逻辑明明没问题,为什么图片就是不显示?或者页面加载时,图片区域白花花一片,用户以为系统卡死了。这时候,很多人只会用…

2026/9/22 19:42:41 阅读更多 →
家庭记账软件哪个好?Python实战从入门到精通

家庭记账软件哪个好?Python实战从入门到精通

家庭记账软件哪个好?Python实战从入门到精通 刚复制来的代码在本地跑不通,报错信息满屏飘,这种崩溃感我懂。很多新手卡在环境配置和逻辑报错上,以为是自己笨,其实多半是忽略了底层细节。想要真正掌握 家庭记账软件哪个好…

2026/9/22 19:42:41 阅读更多 →
5个实战技巧搞定ae官网下载卡顿与性能优化

5个实战技巧搞定ae官网下载卡顿与性能优化

5个实战技巧搞定ae官网下载卡顿与性能优化 是不是看了一堆教程,结果打开项目还是卡成PPT?很多开发者在尝试通过ae官网下载素材或插件时,常遇到资源加载缓慢、内存溢出甚至崩溃的问题。这不仅仅是网络带宽的锅,更深层的原因在于本地渲染管线与浏览…

2026/9/22 19:41:40 阅读更多 →
主管级性能优化实战:3个面试必问底层原理,别再只会背八股

主管级性能优化实战:3个面试必问底层原理,别再只会背八股

主管级性能优化实战:3个面试必问底层原理,别再只会背八股 面试被问原理答不上来,那种尴尬真的没脸见人。很多兄弟平时刷题挺溜,代码也能跑,但面试官一追问“为什么这么写”或者“底层是怎么实现的”,瞬间卡壳。这背后暴露的不是知识储备不足,而是对…

2026/9/22 19:41:40 阅读更多 →
避坑指南:智机网学时认定图解原理,3步解决项目卡壳难题

避坑指南:智机网学时认定图解原理,3步解决项目卡壳难题

避坑指南:智机网学时认定图解原理,3步解决项目卡壳难题 做公路工程这行,最让人头大的是什么?不是图纸画错,也不是现场协调难,而是明明刷完了课,系统里却显示学时不足。很多人盯着“智机网”后台,心里直打鼓:这到底卡在哪一步?为什么别人一键通过,…

2026/9/22 19:41:40 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/22 4:38:57 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/22 8:51:04 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →