複数のリストをキーと値で辞書型にする,zip()応用

zip()と辞書内包表記の応用

参考:https://stackoverflow.com/questions/49506266/three-lists-zipped-into-list-of-dicts

names = ['太郎', '次郎', '三郎', '四郎']
english_scores = [81, 72, 63, 94]
math_scores = [61, 70, 85, 80]
eng_key = '英語'
math_key = '数学'

d = {k : {eng_key : v1, math_key : v2} for k,v1,v2 in zip(names, english_scores, math_scores)}
print(d)

出力結果は、

{'太郎': {'英語': 81, '数学': 61}, '次郎': {'英語': 72, '数学': 70}, '三郎': {'英語': 63, '数学': 85}, '四郎': {'英語': 94, '数学': 80}}