我需要在列表/列中找到可能的组合(两对),并对相对的列/列表执行相对操作。就像,减去对的值。
示例输入:
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
用于组合。
任何完成这项工作的技巧吗?
将您的初始列放入映射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)