我有一个大小不同的输入。
data = [(("101","A"),5), (("105","C"),12), (("101", "B"),4)]
寻找按 key[0] 分组的输出,保留 key[1] 的所有项目。并总结这些值。
output = [(("101", "A", "B"),9), (("105", "C"),12)]
我试过了。
my_dict = dict(data)
final_values = {}
for k,v in my_dict.items():
key1 = k[0]
key2 = k[1]
if key1 not in final_values:
final_values[key1] = []
final_values[key1].append(key2)
final_values[key1].append(v)
哪个返回。
{'101': ['A', 5, 'B', 4], '105': ['C', 12]}
我想得到列表中数字的总和。
最佳答案
for k in final_values:
print '%s: sum is %d' % (k, sum([x for x in final_values[k] if type(x) is int]))
关于Python 归约和元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53386534/