def swapDict(d):
'''对换字典键值对'''
result = {}
for k, v in d.items():
for _k in v:
result.setdefault(_k, {})
result[_k][k] = d[k][_k]
return result
d = {
'小明': {'语文': 80, '数学': 100, '英语': 70, '物理': 60, '化学': 70, '生物': 80, '政治': 90, '历史': 100, '地理': 77, },
'小红': {'语文': 90, '数学': 90, '英语': 70, '物理': 66, '化学': 87, '生物': 67, '政治': 63, '历史': 57, '地理': 88, },
'张三': {'语文': 100, '数学': 80, '英语': 70, '物理': 73, '化学': 83, '生物': 91, '政治': 78, '历史': 88, '地理': 81, },
'李四': {'语文': 60, '数学': 60, '英语': 70, '物理': 88, '化学': 90, '生物': 86},
'王五': {'语文': 70, '数学': 70, '英语': 70, '政治': 88, '历史': 88, '地理': 84},
}
print(swapDict(d))
{'语文': {'小明': 80, '小红': 90, '张三': 100, '李四': 60, '王五': 70},
'数学': {'小明': 100, '小红': 90, '张三': 80, '李四': 60, '王五': 70},
'英语': {'小明': 70, '小红': 70, '张三': 70, '李四': 70, '王五': 70},
'物理': {'小明': 60, '小红': 66, '张三': 73, '李四': 88},
'化学': {'小明': 70, '小红': 87, '张三': 83, '李四': 90},
'生物': {'小明': 80, '小红': 67, '张三': 91, '李四': 86},
'政治': {'小明': 90, '小红': 63, '张三': 78, '王五': 88},
'历史': {'小明': 100, '小红': 57, '张三': 88, '王五': 88},
'地理': {'小明': 77, '小红': 88, '张三': 81, '王五': 84}}
来源:CSDN
作者:XerCis
链接:https://blog.csdn.net/lly1122334/article/details/104017192