python字典使用(三)
一.带有条件的字典推导式
我们还可以在字典推导式中加入条件,以过滤出符合特定条件的键值对。
python复制代码
|
# 假设我们只想保留分数高于90的学生 |
|
student_scores_high = {name: score for name, score in students if score > 90} |
|
|
|
print(student_scores_high) |
|
# 输出: {'Charlie': 92} |
在这个例子中,我们添加了一个 if 条件 score > 90,只有当分数高于90时,才将该学生的姓名和分数添加到字典中。
二.嵌套字典推导式
字典推导式也可以嵌套使用,以生成更复杂的字典结构。例如,假设我们有一个包含多个学生列表的嵌套列表,我们想要将每个内部列表转换为一个字典,并将这些字典存储在一个更大的字典中,其中学生列表的索引作为外部字典的键。
python复制代码
|
# 嵌套的学生列表 |
|
students_nested = [ |
|
[('Alice1', 90), ('Bob1', 85)], |
|
[('Alice2', 92), ('Bob2', 88)] |
|
] |
|
|
|
# 使用嵌套字典推导式创建字典 |
|
student_scores_nested = {index: {name: score for name, score in class_students} for index, class_students in enumerate(students_nested)} |
|
|
|
print(student_scores_nested) |
|
# 输出: |
|
# { |
|
# 0: {'Alice1': 90, 'Bob1': 85}, |
|
# 1: {'Alice2': 92, 'Bob2': 88} |
|
# } |
在这个例子中,外部推导式遍历 students_nested 列表中的每个内部列表,并使用 enumerate 函数获取每个内部列表的索引。内部推导式则负责将每个内部列表转换为字典。
总结
字典推导式是一种强大而灵活的工具,它允许我们以简洁的方式创建和操作字典。通过结合条件语句和嵌套结构,我们可以生成各种复杂的字典结构,以满足不同的数据处理需求。在实际编程中,熟练掌握字典推导式将大大提高我们的编程效率和代码可读性。