python - 将具有相同值的列表转换为 dict - 智能 zip (python)
问题描述
我有清单:
['apples', 400, 'sweets', 300, 'apples', 750]
应用功能后:
def Convert(a):
it = iter(a)
res_dct = dict(zip(it, it))
return res_dct
我得到结果:
{'apples': 750, 'sweets': 300}
但是我需要:
{'apples': 1150, 'sweets': 300}
解决方案
如果存在,您可以使用.get()
fromdictionary
如果不key
存在,您可以用钱求和,如果不key
存在,您可以像下面这样求和。0
money
试试这个:
lst = ['apples', 400, 'sweets', 300, 'apples', 750]
dct = {}
for frt, mny in zip(lst[::2], lst[1::2]):
dct[frt] = dct.get(frt, 0) + mny
print(dct)
输出:
{'apples': 1150, 'sweets': 300}
推荐阅读
- c# - RDLC 报告错误:子报告 IIS 配置的数据检索失败
- python - 打印没有列名的熊猫df
- visual-studio-code - 如何隐藏或折叠 VSC 中的所有 javascript console.log 行
- go - Go 中的每次测试覆盖率
- powerbi - 使用 Azure 时序见解的 Power BI 报告 - 聚合错误
- java - 在构建字符串并将它们添加到 ArrayList 时出错
- python-3.x - 如何操作嵌套的 GET 调用
- firebase - 如何修复我的 Application.java 以使用新版本的 Firebase_messaging
- c# - 执行 MediatR 请求而不进行查询
- excel - 从 excel 2016 转移到 356