在 Python 中,列表(list)和字典(dict)是最常用的两种容器类型,也是初学者最容易混淆的知识点。它们都能用来存储一组数据,但存储方式、查找方式、增删改查用法完全不同。这篇文章就一次性讲清楚:列表和字典的区别,以及它们的增、删、改、查操作。

一、列表和字典的核心区别

1. 外观不同

  • 列表:使用方括号 []
  • 字典:使用大括号 {},以 键:值 形式存储
# 列表
lst = [10, 20, 30, "Python"]

# 字典
dic = {"name": "小明", "age": 18, "score": 95}

2. 存储结构不同

  • 列表有序的集合,靠 “ 下标(索引)” 查找
  • 字典键值对映射,靠 “ 键(key)”查找

3. 可重复性不同

  • 列表:元素可以重复
  • 字典:键(key)不能重复,重复会覆盖

4. 可哈希要求

字典的 key 必须是可哈希(不可变)类型,如字符串、数字、元组。列表、字典本身不能作为字典的 key。


二、列表与字典的 “增删改查” 对比

下面用最清晰的方式,对比两者的增、删、改、查操作。

1. 查(获取数据)

列表:通过索引(从 0 开始)

lst = ["苹果", "香蕉", "橙子"]
print(lst[0])   # 苹果
print(lst[1])   # 香蕉

字典:通过 key 查找

fruit = {"name": "苹果", "price": 5}
print(fruit["name"])
print(fruit["price"])

2. 增(添加数据)

列表:append /insert/extend

lst = [1, 2, 3]

lst.append(4)        # 末尾添加
lst.insert(0, 0)     # 指定位置插入
lst.extend([5, 6])   # 批量添加

字典:直接赋值新 key

dic = {"name": "小红"}

dic["age"] = 19      # 新增一个键值对
dic["score"] = 90

3. 改(修改数据)

列表:通过索引修改

lst = [10, 20, 30]
lst[1] = 200    # 修改第2个元素

字典:通过 key 修改

dic = {"name": "小明", "age": 18}
dic["age"] = 19  # 修改key对应的value

4. 删(删除数据)

方式 1:del
# 列表
lst = [1, 2, 3]
del lst[0]

# 字典
dic = {"a": 1, "b": 2}
del dic["a"]

方式 2:pop(取出并删除)

# 列表
lst = [10, 20, 30]
lst.pop(1)    # 删除指定索引

# 字典
dic = {"name": "小明", "age": 18}
dic.pop("age") # 删除指定key

方式 3:清空

lst.clear()
dic.clear()

三、什么时候用列表?什么时候用字典?

  • 一组同类数据、有顺序、需要按位置访问 → 用列表例如:成绩列表、历史记录、待办事项、用户列表

  • 数据有属性、需要通过名字快速查找、一一对应 → 用字典例如:用户信息、商品详情、配置项、接口返回数据


四、总结

  • 列表 = 有序集合,靠索引操作
  • 字典 = 键值映射,靠 key 操作
  • 增删改查逻辑相似,但操作对象不同:列表操作索引,字典操作键
  • 存一堆数据用列表,存带属性的对象用字典
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐