python - (python) 我如何以特定方式对组合的所有结果求和?

标签 python list sum combinations python-itertools

我正在尝试找到一种方法来组合 2 个列表,然后以特定方式对组合列表求和。前 2 个元素的总和必须与下一个元素相加。

例如:第一个组合 ((1, 2), (4,)) 的总和应为 是 (3,7,6),因为 1+2=3、3+4=7、2+4=6。

然后并排打印:((1, 2), (4,)) (3,7,6) IF它(组合及其总和)不包含某个元素(不知何故已经插入)。

这是我的代码和示例:

a=[1,2,3]
b=[4,5,6]

import itertools

sets = [a,b];
ks = [2, 1,] 

combinations = itertools.product(*[itertools.combinations(set, k) for set, k in zip(sets, ks)])

for combination in combinations:
    print (combination)

最佳答案

直接说:

for i in itertools.product(*[itertools.combinations(set, k) for set, k in zip(sets, ks)]):
    i_sum = i[0][0] + i[0][1]
    print(i, (i_sum, i_sum + i[1][0], i[0][1] + i[1][0]))

输出:

((1, 2), (4,)) (3, 7, 6)
((1, 2), (5,)) (3, 8, 7)
((1, 2), (6,)) (3, 9, 8)
((1, 3), (4,)) (4, 8, 7)
((1, 3), (5,)) (4, 9, 8)
((1, 3), (6,)) (4, 10, 9)
((2, 3), (4,)) (5, 9, 7)
((2, 3), (5,)) (5, 10, 8)
((2, 3), (6,)) (5, 11, 9)

关于python - (python) 我如何以特定方式对组合的所有结果求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613380/

相关文章:

python - 在 pandas 中使用 matplotlib 绘制散点图时如何将标记与线连接起来

python - 保存 OneHot 编码器对象 python

Python for each 但在 n 元素之后停止

java - 从 Java 字符串列表中跟踪回文

python - 将函数存储在列表中并稍后调用它们

MySQL SUM 函数和 CASE 语句

python - 在 Windows 上安装 Python pip SyntaxError : EOF while scanning triple-quoted string literal

python - 如何检查嵌套在循环内的字典中是否存在值

sql - 具有 GROUP BY 和聚合函数的多个 INNER JOIN

sql - 联合所有的总和?是否可以?