程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python学习——023浅说python里那些绕绕的数据结构

hfteth 2025-03-30 16:46:32 技术文章 13 ℃

在 Python 中,字典的列表、列表的字典、字典的字典是不同的数据结构,听起来是不是有点绕,下面简单介绍它们的区别及使用场景:

字典的列表

字典的列表指的是一个列表,该列表中的每个元素都是一个字典。这种数据结构常用于存储多个具有相同结构的数据项。

students = [
    {"name": "Alice", "age": 20, "grade": "A"},
    {"name": "Bob", "age": 21, "grade": "B"},
    {"name": "Charlie", "age": 22, "grade": "C"}
]

# 访问第二个学生的信息
print(students[1])

# 访问第二个学生的姓名
print(students[1]["name"])

代码解释

  • students 是一个列表,其中包含了三个字典,每个字典代表一个学生的信息。
  • 通过索引可以访问列表中的某个字典,再通过键来访问字典中的具体值。

列表的字典

列表的字典是一个字典,其每个键对应的值是一个列表。这种数据结构适用于将多个相关的数据组织在一起。

scores = {
    "math": [90, 85, 92],
    "english": [88, 91, 78],
    "science": [95, 89, 93]
}

# 访问数学科目的所有成绩
print(scores["math"])

# 访问数学科目的第二个成绩
print(scores["math"][1])

代码解释

  • scores 是一个字典,其中键为科目名称,值为该科目对应的成绩列表。
  • 通过键可以访问对应的列表,再通过索引访问列表中的具体元素。

字典的字典

字典的字典是一个字典,其每个键对应的值又是一个字典。这种数据结构可用于表示更复杂的层次关系。

employees = {
    "emp1": {"name": "John", "department": "HR", "salary": 5000},
    "emp2": {"name": "Jane", "department": "IT", "salary": 6000},
    "emp3": {"name": "Doe", "department": "Finance", "salary": 5500}
}

# 访问员工 emp2 的信息
print(employees["emp2"])

# 访问员工 emp2 的部门
print(employees["emp2"]["department"])

代码解释

  • employees 是一个字典,其中键为员工编号,值为该员工的详细信息字典。
  • 通过外层字典的键可以访问内层字典,再通过内层字典的键访问具体的值。

总结

  • 字典的列表:列表的元素是字典,适合存储多个相似结构的数据项。
  • 列表的字典:字典的值是列表,用于将相关的数据组织在一起。
  • 字典的字典:字典的值是另一个字典,可用于表示复杂的层次关系。

如何遍历这三种数据结构呢,欢迎留言讨论。

最近发表
标签列表