我有一张单子
results = [[('Gizmo1', 1.0), 'Owner1'], [('Gizmo2', 4.0), 'Owner2'],[('Gizmo1', 4.0), 'Owner1'],[('Gizmo2', 4.0), 'Owner2']]
我的目标是添加与尊重的所有者匹配的小发明
results = [[('Gizmo1', 5.0), 'Owner1'], [('Gizmo2', 8.0), 'Owner2']]
我尝试将列表拆分为两个较小的列表,创建一个字典
items_qty = [[('Gizmo1', 1.0)], [('Gizmo2', 4.0)],[('Gizmo1', 4.0)],[('Gizmo2', 4.0)]]
owner = [['Owner1'], ['Owner2'],['Owner1'],['Owner2']]
data = {}
for key, val in zip(owner, items_qty):
data[key] = data.get(key, 0) + val
但这给了我一个错误
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
我如何获取或保存信息并不重要
试试这个:
使用此逻辑,您将得到一个包含所有数据的字典,就像您命名的那样。这完全取决于你如何命名
您可以使用临时
dict
存储中间结果,然后从中重建results
:按要求输出
试试这个:
问题是您将数字添加到元组中,而不是元组中的值
相关问题 更多 >
编程相关推荐