修改字典value
{
‘python’:{‘上学期’:’99’,”下学期’:’69’},
‘c++’:[’87’,’88’,’89’],
’java’:[{‘月考’:’60’,’期中’:’65’,’期末’:’70’}]
}
上面的字典,保存的是学生各个编程语言的成绩。各门课程的考试成绩存储方式并不相同,有的用字典,有的用列是分数都是字符串类型。请实现函数,将分数修改成int类型。
def transfer(data):
"""
递归地处理输入数据,将字典中的字符串转换为整数。
:param data: 输入的数据,可以是字典、列表或字符串。
:return: 根据输入数据类型,返回相应类型的结果,字典或列表中的字符串会被转换为整数。
"""
if isinstance(data, dict): # 当数据是字典时,递归处理字典的每个键值对
for key, value in data.items():
data[key] = transfer(value)
return data
if isinstance(data, list): # 当数据是列表时,递归处理列表中的每个元素
data_lst = []
for item in data:
data_lst.append(transfer(item))
return data_lst
if isinstance(data, str): # 当数据是字符串时,尝试将其转换为整数
return int(data)
# 示例数据定义
demo = {
'python': {'上学期': '99', '下学期': '69'},
'c++': ['87', '88', '89'],
'java': [{'月考': '60', '期中': '65', '期末': '70'}]
}
# 使用transfer函数处理demo数据
demo = transfer(demo)
print(demo)

创想未来
评论前必须登录!
注册