创建一个元组 student_scores = (('Alice', 95), ('Bob', 80), ('Charlie', 70), ('David', 85)),完成以下操作:
a)使用元组解析创建一个新的元组,其中每个元素是原元组中学生的姓名;
b)将学生按照成绩从高到低进行排序;
c)使用 zip 函数将学生的姓名和成绩分别组合成两个列表;
d)统计成绩大于等于 80 的学生人数。
student_scores = (('Alice', 95), ('Bob', 80), ('Charlie', 70), ('David', 85))
#a)
names = tuple(name for name, score in student_scores)
print('学生姓名:', names)
#b)
sorted_scores = sorted(student_scores, key = lambda x: x[1], reverse = True)
print('按成绩排序:', sorted_scores)
#c)
names_list, scores_list = zip(*student_scores)
print('学生姓名列表:', list(names_list))
print('学生成绩列表:', list(scores_list))
#d)
count_high_scores = sum(1 for name, score in student_scores if score >= 80)
print('成绩不低于80的学生人数:', count_high_scores)