Python 3.6字典列表数值运算:将number值翻倍后格式化输出
没问题,这事儿处理起来很简单~ 核心要注意两个点:一是原字典里的number是字符串类型,得先转成整数才能做乘法;二是尽量别用list当变量名,它是Python的内置关键字,容易覆盖原有功能出问题。
给你两种可行的解决方案:
方案一:修改原有循环逻辑
直接在原有代码基础上调整,把字符串转成整数计算后再输出,逻辑更直观:
# 把变量名改成dict_list,避免和内置list冲突 dict_list = [{'name': 'A', 'number':'1'}, {'name': 'B', 'number':'2'}, {'name': 'C', 'number':'3'}, {'name': 'D', 'number':'4'}] for item in dict_list: name = item['name'] # 将字符串转整数后乘2 doubled_number = int(item['number']) * 2 # 用f-string格式化输出,比字符串拼接更清晰易读 print(f"{name} = {doubled_number}")
方案二:一行式简洁写法
如果想更精简,可以用生成器表达式配合join直接输出所有结果:
dict_list = [{'name': 'A', 'number':'1'}, {'name': 'B', 'number':'2'}, {'name': 'C', 'number':'3'}, {'name': 'D', 'number':'4'}] print('\n'.join(f"{item['name']} = {int(item['number']) * 2}" for item in dict_list))
两种方案运行后都会得到你想要的输出:
A = 2
B = 4
C = 6
D = 8
内容的提问来源于stack exchange,提问作者Berg4
相关产品推荐
相关产品推荐

