Python 归约和元组

标签 python

我有一个大小不同的输入。

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/

相关文章:

python - django.core.exceptions.FieldError : Unknown field(s) (academic_grade) specified for User 错误

python - 为什么我的蒙版生成的形状多边形无效?

python - MacroPy 安装失败

python - 将请求中的 JSON 数据转换为 Pandas DataFrame

python - 在python中记录多线程进程

python - 使用单个数据库服务器水平扩展 Django 应用程序

python - 对 3d numpy 数组进行子集化

python - 一种生成满足特定条件的集合的子集的算法

python - Pandas 数据框列表的迭代性能变化很大

python - 合并时间到时间段