MST

星途 面试题库

面试题:Python中if语句结合字典实现复杂条件筛选

给定一个字典列表,每个字典包含 'name'(名字)、'age'(年龄)、'score'(成绩)三个键值对。要求使用if语句结合字典,筛选出年龄大于18岁且成绩大于80分的学生信息,并输出这些学生的名字和成绩,以新的字典列表形式呈现。
13.5万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
students = [
    {'name': 'Alice', 'age': 20,'score': 85},
    {'name': 'Bob', 'age': 17,'score': 78},
    {'name': 'Charlie', 'age': 22,'score': 90}
]

result = []
for student in students:
    if student['age'] > 18 and student['score'] > 80:
        new_dict = {'name': student['name'],'score': student['score']}
        result.append(new_dict)

print(result)

上述代码中:

  1. 首先定义了一个包含学生信息的字典列表 students
  2. 创建一个空列表 result 用于存储符合条件的学生信息。
  3. 使用 for 循环遍历 students 列表中的每个学生字典。
  4. 通过 if 语句判断学生的年龄是否大于18岁且成绩是否大于80分。
  5. 如果符合条件,创建一个新的字典,只包含名字和成绩,然后添加到 result 列表中。
  6. 最后打印 result 列表,即符合条件的学生信息以新的字典列表形式呈现。