python 字典里的value
各门课程的考试成绩存储方式并不相同,有的用字典,有的用列表,但是分数都是字符串类 型,请实现函数transfer-score(score-dict),将分数修改成int类型
不同于上—篇,本次字典的结构变得复杂了,但思路不变,仍然要遍历字典,只是在遍历时, 要根据value的类型决定如何进行处理,如果value的类型是字典,那么则仍然按照上—篇的方 法进行处理,如果value的类型是列表,则需要对列表里的元素类型进行判断,如果是字符
串,则直接转换,如果是字典,则需要按照上—篇的方法进行处理,这次,我采用递归函数进 行处理。
import pprint
def transfer_score(score_dict):
#如果score_dict是字典类
if isinstance(score_dict, dict):
for key, value in score_dict.items():
score_dict[key]=transfer_score(value)
return score_dict
#如果score_dict是列表类
if isinstance(score_dict, list):
score_lst = []
for item in score_dict:
score_lst.append(transfer_score(item))
return score_lst
#如果score_dict是字符串类
if isinstance(score_dict, str):
return int(score_dict)
if __name__ == '__main__':
data = {
'python': {'上学期': "99", '下学期': "98"},
'c++': ['95', '98', '97'],
'java': [{'月考': '85', '期中考试': '88', '期末考试': '90'}]
}
pprint.pprint(transfer_score(data))
原文地址:https://blog.csdn.net/qingcheng_123456/article/details/138001421
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!