0

我需要在列表/列中找到可能的组合(两对)并对相对列/列表执行相对操作。就像,减法对的值。

示例输入:

column 1 column2
----------------
A         10
C         20
B         30

输出

column1  column2    #internal operation
--------------------------------------
[A,B]    -20        A-B
[A,C]    -10        A-C
[C,B]    -10        C-B

我已经用于itertools.combinations组合。

有什么技巧可以完成这项工作吗?

4

1 回答 1

1

将您的初始列放入地图 P (P = {'A': 10, ..}等)中,而不仅仅是计算w = [((c1, c2), P[c1] - P[c2]) for c1, c2 in itertools.combinations(P.keys(), 2)]. 它应该包含您想要放入结果列的所有数据。

按列获取数据:letters_pairs, values = zip(*w)

于 2013-03-10T15:52:13.443 回答