刚学 Python 的时候,很多人都会被这几个东西绕晕:列表list、元组tuple、字典dict。
看起来都是用来“装数据”的,但为什么 Python 要设计三种?写代码的时候到底该选哪个?
其实不用死记,只要弄明白它们各自适合干什么,就很好区分了。
1、列表 list:最常用,也最灵活
列表可以理解成一个可以随时修改的数据清单。
比如:
fruits = ["苹果", "香蕉", "橙子"]
列表使用 [],里面的数据有顺序,可以通过索引访问,比如 fruits[0] 就是“苹果”。
而且列表创建以后还能继续增加、删除或者修改数据,所以实际写 Python 时非常常见。
2、元组 tuple:和列表很像,但不能随便改
元组通常使用 ():
point = (10, 20)
它同样有顺序,也能通过索引取值,但最大的区别就是:元组创建之后,其中的元素不能直接修改、添加或删除。
所以像坐标、固定配置、不会频繁变化的数据,就比较适合使用元组。
3、字典 dict:通过“名字”找数据
字典和前两种最大的不同,是它使用**键值对(key-value)**保存数据。
例如:
user = {"name": "小明", "age": 20}
如果想获取姓名,可以直接写:
user["name"]
这时候不需要记“姓名排在第几个”,直接通过 name 这个键就能找到对应的数据。
因此,像用户信息、商品信息、配置参数等带有明确属性的数据,用字典通常更直观。
到底什么时候用哪个?
其实判断方法很简单。
数据需要经常增加、删除、修改,优先考虑列表;数据有固定顺序,而且创建后不希望被修改,可以考虑元组;如果每个数据都有明确的“名称”和“含义”,通常字典更合适。
所以新手没必要把三个概念背得特别复杂。
先记住一句话就够了:
列表适合“可变清单”,元组适合“固定数据”,字典适合“键值对应”。
等以后真正写项目,你会发现它们经常还会组合使用,比如“列表里面放多个字典”。把这三个基础数据结构搞明白,后面学习循环、函数和数据处理都会轻松很多。