Python:在列中查找组合并使用索引值进行相关操作

问题描述 投票:0回答:1

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

示例输入:

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用于组合。

任何完成这项工作的技巧吗?

python combinations itertools
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)

© www.soinside.com 2019 - 2024. All rights reserved.