如何获得此输出:
{'Test 1': ['100', '88', '45', '59', '73', '89'], 'Test 2': ['90', '99', '56', '61', '79', '97'], 'Test 3': ['80', '111', '67', '67', '83', '101']}
用这些数据
grades = [
['Students', 'Test 1', 'Test 2', 'Test 3'],
['Tomas', '100', '90', '80'],
['Marcos', '88', '99', '111'],
['Flavia', '45', '56', '67'],
['Ramon', '59', '61', '67'],
['Ursula', '73', '79', '83'],
['Federico', '89', '97', '101']
]
start = 1
忽略将标签添加到字典值grades
的第一个元素(行)包含要使用的所有键。每隔一行包含每列中键的值。您可以使用zip
和如下解包:zip(grades[0], *grades[1:])
获得一个迭代器,该迭代器给出一个元组,其中包含键作为第一个元素,以及剩余元素中每隔一行的对应列。然后,您可以使用k, *v in zip(...)
来解压它,以获取k
中的键,以及v
列中的值列表然后,您可以使用字典理解来根据
zip
操作的结果创建字典k:v
是字典的键和值,对于k in grades[0]
,因此每次迭代将从grades[0]
中给k一个元素,然后*v
是一个完整的垂直列相关问题 更多 >
编程相关推荐