Skip to main content
 首页 » 编程设计

python之匹配 2 个列表

2025年05月04日17webabcd

我正在尝试将学生姓名与他们在考试中获得的分数相匹配。所以我有 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 的情况下不是一个好主意。只有当您确信名称是唯一的时才使用字典方法是个好主意