首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在元组内部的元组(可迭代的)中对元组进行求和的最有效方法是什么?

在元组内部的元组(可迭代的)中对元组进行求和的最有效方法是什么?
EN

Stack Overflow用户
提问于 2019-12-03 03:11:07
回答 1查看 51关注 0票数 0

从本质上说,我正在生成一个元组:

代码语言:javascript
运行
复制
import datetime
import csv

from itertools import product, combinations, chain

part_1 = {
    'a':{2,1,0},
    'b':{3,4,5},
    'c':{7,8,9},
    'd':{10,11,12}      
}

sorted_part_1 = sorted(part_1)
result = product(*(part_1[Thing] for Thing in sorted_part_1))

# for a in result:
#   print('comb a' + str(a))

comb_list_total = it.combinations(result,4)

(虽然有几个订单,但排列更多。)

我想做的是对每个元组/可迭代进行求和,例如((2, 5, 9, 11), (2, 5, 9, 12), (2, 5, 7, 10), (2, 5, 7, 11)) -> (8,20,32,44)

(我实际上想要做的是,得到聚合元组和预定义的元组之间的区别,比如(50,50,50,50,50,50,50,50,50,50,50) -> (32,30,18,6),最后,将差异之和确定哪一个元组的元组最大化/最小化了这个聚合差异。)

如何对元组执行此数学运算,并有效地将结果映射到原始元组?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-03 03:37:11

前提条件:

代码语言:javascript
运行
复制
iterable_of_tuples = [
    (...),  # tuple 1
    (...),  # tuple 2
    ...
    (...)   # tuple N
]

使用numpy:

代码语言:javascript
运行
复制
import numpy as np

sum_of_all_tuples = tuple(sum(np.array(t) for t in iterable_of_tuples))

纯Python (可能在长迭代时效率较低):

代码语言:javascript
运行
复制
sum_of_all_tuples = tuple(map(sum, zip(*iterable_of_tuples))))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59149660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档