百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

列表、元组与字典:Python开发者的三大必备利器,向高手靠近一步

wptr33 2025-09-29 13:40 27 浏览

朋友们好呀,欢迎继续我们的Python学习之旅! 如果你刚刚接触编程,还在疑惑“Python到底是个啥”,那完全没关系。今天我们继续从最基础的地方入手,一点点揭开Python的面纱。就像我刚学编程时,连变量都看不懂,总觉得是某种“黑魔法”。后来在朋友的耐心指导下,我才发现:变量其实就是用来存数据的小盒子罢了。


本章目标

这一节,我们要继续打地基,把Python的核心概念啃下来。它们会成为你未来写代码的“肌肉记忆”。

本系列将逐步覆盖:

  • 字符串(Strings)
  • 列表、字典和元组(Lists, Dictionaries, and Tuples)—— 本章重点
  • 条件语句(Conditional Statements)
  • 循环(Loops)
  • 推导式(Comprehensions)
  • 异常处理(Exception Handling)
  • 文件输入输出(File I/O)
  • 导入模块和包(Importing Modules and Packages)
  • 函数(Functions)
  • 类(Classes)

看上去任务不少?别担心,我们一步步来,每个知识点都有实例和解释,轻松学,不打瞌睡。


列表、元组与字典:Python程序员的“三剑客”

写Python时,你会发现自己仿佛在拼搭积木。不同的数据类型就像不同形状的积木,而列表、元组和字典就是最常用的三块“大积木”,组合灵活,功能强大。今天我们就来搞清楚它们的用法。


1 列表(List):百搭的工具箱

列表是Python里最常用的数据结构,能存放各种类型的东西:数字、文本,甚至还能放另一个列表。

创建列表

# 空列表
my_list = []           
my_list_alt = list()   

# 带内容的列表
my_list = [1, 2, 3]            
my_list2 = ["a", "b", "c"]     
my_list3 = ["Python", 3.14, True]  

print(my_list)    # [1, 2, 3]
print(my_list2)   # ['a', 'b', 'c']
print(my_list3)   # ['Python', 3.14, True]

列表的包容性很强,甚至可以嵌套。

嵌套列表

nested_list = [[1, 2, 3], ["a", "b", "c"], [True, False]]
print(nested_list)         # [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
print(nested_list[0])      # [1, 2, 3]
print(nested_list[1][2])   # 'c'

合并列表的几种方式

# 方法1:extend
combo_list = [1, 2]
combo_list.extend([3, 4])
print(combo_list)  # [1, 2, 3, 4]

# 方法2:加号拼接
combo_list = [1, 2] + [3, 4]
print(combo_list)  # [1, 2, 3, 4]

# 方法3:循环添加
for item in [5, 6]:
    combo_list.append(item)
print(combo_list)  # [1, 2, 3, 4, 5, 6]

排序

nums = [34, 23, 67, 100, 88, 2]
nums.sort()
print(nums)  # [2, 23, 34, 67, 88, 100]

nums = [34, 23, 67, 100, 88, 2]
sorted_nums = sorted(nums)  # 返回新列表
print(sorted_nums)  # [2, 23, 34, 67, 88, 100]
print(nums)         # 原列表不变

降序排列:

print(sorted(nums, reverse=True))  # [100, 88, 67, 34, 23, 2]

切片操作

alpha_list = [2, 23, 34, 67, 88, 100]

print(alpha_list[0:3])   # [2, 23, 34]
print(alpha_list[::2])   # [2, 34, 88]
print(alpha_list[::-1])  # [100, 88, 67, 34, 23, 2]

2 元组(Tuple):稳定的“石头块”

元组和列表很像,但它的特点是不可修改,更适合保存固定的数据。

创建方式

my_tuple = (1, 2, 3)
my_tuple2 = tuple([4, 5, 6])
print(my_tuple)   # (1, 2, 3)
print(my_tuple2)  # (4, 5, 6)

不可变,但能容纳可变对象

nested_tuple = (1, [2, 3])
nested_tuple[1][0] = 99
print(nested_tuple)  # (1, [99, 3])

互转操作

# 元组转列表
t = (1, 2, 3)
l = list(t)
l.append(4)
print(l)  # [1, 2, 3, 4]

# 列表转元组
print(tuple(l))  # (1, 2, 3, 4)

3 字典(Dictionary):快速检索的宝箱

字典是一种键值对存储结构,可以通过“键”快速定位到数据。

创建字典

my_dict = {"name": "Alice", "age": 25}
another_dict = dict(city="Beijing", population=21_540_000)

print(my_dict)       # {'name': 'Alice', 'age': 25}
print(another_dict)  # {'city': 'Beijing', 'population': 21540000}

访问和修改

print(my_dict["name"])   # Alice

# 新增
my_dict["job"] = "Developer"
print(my_dict)  # {'name': 'Alice', 'age': 25, 'job': 'Developer'}

# 修改
my_dict["age"] = 26
print(my_dict)  # {'name': 'Alice', 'age': 26, 'job': 'Developer'}

字典方法与小技巧

print("name" in my_dict)   # True
print(my_dict.keys())      # dict_keys(['name', 'age', 'job'])

记住:"key" in my_dict 会比 "key" in my_dict.keys() 更快。


小结:继续搭建你的Python积木城堡

列表、元组和字典是Python三大“基础结构”,也是写程序时最常用的工具。有了它们,就能自由搭建属于你的“积木世界”。下章我们将学习 条件语句,让代码拥有判断力,开始有点“聪明劲儿”了!

我帮你把这篇《列表、元组与字典:Python开发者的三大法宝》整理成一个思维导图结构,你可以拿去在 XMind、MindMaster 或者 draw.io 里直接画出来:


思维引导: Python 三大法宝:列表、元组与字典

1 列表(List)—— 万能工具箱

  • 特点:可变、能存任意类型、支持嵌套
  • 创建方式
  • []list()
  • [1, 2, 3] / ["a", "b", "c"] / 混合元素
  • 常见操作
  • 嵌套nested_list[1][2] → 'c'
  • 合并
  • extend()
  • +
  • append() 循环
  • 排序
  • list.sort()(原地)
  • sorted(list)(返回新列表,可加 reverse=True
  • 切片
  • list[0:3] → 前3个
  • list[::2] → 隔一个取一个
  • list[::-1] → 倒序

2 元组(Tuple)—— 稳如磐石

  • 特点:不可变(但可包含可变对象)
  • 创建方式
  • (1, 2, 3)
  • tuple([4, 5, 6])
  • 特殊性
  • 不可改,但可嵌套列表并修改其中内容
  • 转换:
  • tuple → list → 修改 → tuple

3 字典(Dictionary)—— 精准百宝箱

  • 特点:键值对存储、快速查找
  • 创建方式
  • {"name": "Alice", "age": 25}
  • dict(city="Beijing", population=21_540_000)
  • 常见操作
  • 访问:my_dict["name"]
  • 添加:my_dict["job"] = "Developer"
  • 修改:my_dict["age"] = 26
  • 方法与技巧
  • 判断键:"name" in my_dict(比 keys() 快)
  • 查看所有键:my_dict.keys()

相关推荐

深度剖析 MySQL 数据库索引失效场景与优化策略

在互联网软件开发领域,MySQL数据库凭借其开源、高效等特性被广泛应用。而索引,作为提升MySQL查询性能的关键利器,能大幅加速数据检索。然而,在实际开发中,即便精心创建了索引,却常常遭遇索引失...

15分钟,带你了解indexedDB,这个前端存储方案很重要!

原文来源于:程序员成长指北;作者:Django强哥如有侵权,联系删除最近在给前端班授课,在这次之前的最后一次课已经是在2年前,2年的时间,前端的变化很大,也是时候要更新课件了。整理客户端存储篇章时模糊...

MySQL 面试总被问到的那些问题,你都懂了吗?

事务的四大特性是什么?首先得提一下ACID,这可是数据库事务的灵魂所在:原子性(Atomicity):要么全部成功,要么全部失败回滚。一致性(Consistency):确保数据在事务前后都处于一致状态...

Java 字符串常见的操作_java字符串总结

在Java当中,为字符串类提供了丰富的操作方法,对于字符串,我们常见的操作就是:字符串的比较、查找、替换、拆分、截取以及其他的一些操作。在Java中,有String,StringBuffer和St...

java学习分享:Java截取(提取)子字符串(substring())

在String中提供了两个截取字符串的方法,一个是从指定位置截取到字符串结尾,另一个是截取指定范围的内容。下面对这两种方法分别进行介绍。1.substring(intbeginIndex)形...

你必须知道的 7 个杀手级 JavaScript 单行代码

1.如果你需要一个临时的唯一ID,请生成随机字符串。这个例子将为你生成一个随机字符串:constrandomString=Math.random().toString(36).slice(2)...

MySQL 索引失效:原因、场景与解决方案

在互联网软件开发领域,MySQL作为一款广泛使用的关系型数据库,其性能优化至关重要。而索引,作为提升MySQL查询性能的关键手段,一旦失效,会导致查询效率大幅下降,影响整个系统的性能。今天,就来...

Axure9 教程:可模糊搜索的多选效果

一、交互效果说明1.点击话题列表中的话题选项,上方输入框内显示选择的话题标签,最多可选择5个标签,超出将有文字提示。2.点击输入框内已选择的话题标签的删除按钮,可以删除已选择的话题标签,并且该标签返回...

JavaScript字符串操作方法大全,包含ES6方法

一、charAt()返回在指定位置的字符。...

为什么MySQL索引不生效?来看看这8个原因

在数据库优化中,最让人头疼的事情之一莫过于精心设计的索引没有发挥作用。为什么会出现这种情况?这篇文章带大家一起探讨一些常见原因,方便大家更好地理解MySQL查询优化器是如何选择索引的,以及在出现类...

Kettle实现rabbitMQ的生产与消费_rabbitmq不支持顺序消费

文章目录一、Kettle为什么可以读取流数据?...

MySQL高频函数Top10!数据分析效率翻倍,拒绝无效加班!

引言:为什么你的SQL代码又臭又长?“同事3行代码搞定的事,你写了30行?”“每次处理日期、字符串都抓狂,疯狂百度?”——不是你不努力,而是没掌握这些高频函数!本文精炼8年数据库开发经验,总结出10个...

mysql的截取函数用法详解_mysql截取指定字符

substring()函数测试数据准备:用法:以下语法是mysql自动提示的1:substirng(str,pos):从指定位置开始截取一直到数据完成str:需要截取的字段的pos:开始截取的位置。从...

MySQL函数:字符串如何截取_mysql 字符串截取函数

练习截取字符串函数(五个)mysql索引从1开始...

数据集成产品分析(一)_数据集成工具有哪些

编辑导语:数据集成产品是数据中台建设的第一环节,在构建数据中台或大数据系统时,首先要将企业内部各个业务系统的数据实现互联互通,从物理上打破数据孤岛。本文作者对数据集成产品进行了分析,一起来看一下吧。数...