总结
- 列表中存储字典:适用于有序的数据集合,且数据项没有唯一标识符的情况。访问时通常使用索引。
- 字典中存储字典:适用于无序的数据集合,且每个数据项都有唯一标识符的情况。访问时通过键来查找。
这两种结构可以根据不同的需求选择使用,以便更好地组织和管理数据。
1. 列表中存储字典
结构:
- 列表是一种有序的数据结构,可以包含多个元素,这些元素可以是任何类型,包括字典。
- 当列表中存储字典时,列表的每个元素都是一个字典。
访问方式:
- 通过索引(从 0 开始)访问列表中的字典。
- 你可以遍历列表,访问每个字典的键和值。
示例:
students = [
{'name': 'Alice', 'age': 24, 'major': 'Physics'},
{'name': 'Bob', 'age': 22, 'major': 'Mathematics'},
{'name': 'Charlie', 'age': 23, 'major': 'Computer Science'}
]
# 访问第一个学生的信息
print(students[0]) # 输出: {'name': 'Alice', 'age': 24, 'major': 'Physics'}
# 获取第一个学生的姓名
print(students[0]['name']) # 输出: Alice
# 遍历所有学生的信息
for student in students:
print(student)
应用场景:
- 当你有一组相同类型的数据(如多个学生的信息),并且这些数据没有唯一标识符时,可以使用列表来存储字典。
2. 字典中存储字典
结构:
- 字典是一种无序的数据结构,它由键值对组成。每个键必须是唯一的。
- 当字典中存储字典时,字典的每个键对应的值是另一个字典。
访问方式:
- 通过键来访问字典中的字典。
- 你可以通过嵌套键访问内层字典的值。
示例:
students = {
'student1': {'name': 'Alice', 'age': 24, 'major': 'Physics'},
'student2': {'name': 'Bob', 'age': 22, 'major': 'Mathematics'},
'student3': {'name': 'Charlie', 'age': 23, 'major': 'Computer Science'}
}
# 访问student1的信息
print(students['student1']) # 输出: {'name': 'Alice', 'age': 24, 'major': 'Physics'}
# 获取student1的姓名
print(students['student1']['name']) # 输出: Alice
# 遍历所有学生的信息
for student_id, student_info in students.items():
print(f"{student_id}: {student_info}")
应用场景:
- 当你有一组数据,并且每个数据项都有一个唯一标识符时(如学生 ID),使用字典来存储字典更为合适。