我正在尝试将学生姓名与他们在考试中获得的分数相匹配。所以我有 2 个列表
year3studentslist = ['Dave','Tom','Alan']
year3scorelist = ['17','3','12']
在我的程序中发生的事情是学生登录完成测试并获得分数。我将如何将学生的姓名与分数相匹配?
请您参考如下方法:
使用 zip()可能是最简单的方法。执行 zip(year3studentslist, year3scorelist) 返回一个元组列表:
[('Dave', '17'), ('Tom', '3'), ('Alan', '12')]
因此只需遍历此列表以访问元素:
for student, score in zip(year3studentslist, year3scorelist):
print student, score
如果您想通过学生姓名访问数据,您可以将上述压缩数据转换为字典:
data_dict = {item[0]: item[1] for item in zip(year3studentslist, year3scorelist)}
与
相同data_dict = dict(zip(year3studentslist, year3scorelist))
现在您可以通过 data_dict['Dave'] 访问“Dave 的”分数。但请注意,在字典中,键必须是唯一的。在这种情况下,我们选择学生的名字作为键,这在类(class)中有两个 Dave 的情况下不是一个好主意。只有当您确信名称是唯一的时才使用字典方法是个好主意
