修改字典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)
评论前必须登录!
注册