今天整理了Python中列表和字典的核心用法,列表是有序可变的序列,用[]表示;字典是键值对的集合,用{}表示,通过键来访问值更高效。踩了几个小坑,比如字典的键必须是不可变类型,列表不能作为键,特意把这些知识点记录下来,方便以后复习巩固,也希望能帮到和我一样的Python新手。
作为Python中最常用的两种数据结构,列表(List)和字典(Dictionary)在日常编程中出现的频率极高,掌握它们的基本用法和区别,是入门Python的重要一步。之前在写小脚本的时候,因为混淆了两者的特性,踩了不少不必要的坑,今天专门花时间系统梳理了一遍,把核心知识点和避坑要点整理成了这份笔记。
一、列表(List):有序可变的序列
列表是Python中用于存储多个元素的有序容器,使用方括号[]定义,元素之间用逗号分隔。列表的特点是有序(元素有固定索引,从0开始)、可变(可以增、删、改元素),并且可以存储不同类型的元素(比如同时存储字符串、数字、布尔值)。
创建一个简单的列表非常容易,下面是几个常见的列表创建示例,包括空列表、普通元素列表,以及混合类型列表:
# 创建空列表
empty_list = []
# 创建存储字符串的列表
fruit_list = ["苹果", "香蕉", "橙子", "葡萄"]
# 创建混合类型元素的列表
mix_list = [18, "Python", True, 3.14]
# 打印列表
print(fruit_list) # 输出:['苹果', '香蕉', '橙子', '葡萄']
列表的核心操作包括访问元素、添加元素、修改元素和删除元素。访问元素通过索引实现,添加元素可以使用append()(末尾添加)或insert()(指定位置添加),修改元素直接通过索引赋值,删除元素可以使用del语句或remove()方法。
小技巧:使用len()函数可以快速获取列表的长度(元素个数),使用in关键字可以判断某个元素是否存在于列表中。
二、字典(Dictionary):键值对的无序集合
字典是Python中用于存储键值对(Key-Value Pair)的容器,使用大括号{}定义,每个键值对之间用逗号分隔,键和值之间用冒号:连接。字典的特点是无序(Python 3.7+后默认保留插入顺序)、可变(可以增、删、改键值对),并且通过键访问值(比通过索引访问更直观高效)。
字典的键必须满足唯一性(同一个字典中不能有重复的键)和不可变性(只能使用字符串、数字、元组等不可变类型作为键,列表、字典等可变类型不能作为键),这是新手最容易踩坑的点之一,我之前就尝试用列表作为键,结果直接抛出了类型错误。
# 创建空字典
empty_dict = {}
# 创建存储个人信息的字典
person_info = {
"姓名": "小木屋主人",
"年龄": 28,
"职业": "打工人",
"爱好": ["编程", "记录生活", "美食"]
}
# 访问字典中的值(通过键访问)
print(person_info["姓名"]) # 输出:小木屋主人
# 错误示例:用列表作为键(会抛出TypeError)
# wrong_dict = {[1,2,3]: "错误的键"}
三、列表与字典的核心区别与适用场景
掌握列表和字典的区别,才能在合适的场景下选择合适的数据结构,避免做无用功。两者的核心区别主要集中在存储形式、访问方式和适用场景三个方面,具体整理如下:
- 存储形式:列表存储单一元素,字典存储键值对(键用于标识,值用于存储数据)
- 访问方式:列表通过索引(数字)访问,字典通过键(自定义标识)访问
- 有序性:列表天生有序,字典(Python 3.7+)保留插入顺序,低版本无序
- 唯一性:列表允许重复元素,字典不允许重复键
- 适用场景:列表适合存储一组同类、需要按顺序排列的数据(如水果列表、成绩列表);字典适合存储具有属性描述的数据(如个人信息、商品信息)
今天的学习笔记就到这里,通过这次系统梳理,我对列表和字典的理解更深刻了,也记住了字典键不能为可变类型这个坑。后续还会继续整理Python的其他核心知识点,一步一个脚印,慢慢从新手成长为能独立写项目的开发者。
学习编程没有捷径,唯有不断练习、不断总结,才能把知识点内化为自己的能力。