我有一个列表 S = [a[n],b[n],c[n]] 并且对于 n=0 列表的最小值 S 是值 'a'。如果我知道最小值,如何选择值 b 和 c?我正在编写的代码经历了 n 的多次迭代,我想检查循环中给定迭代中不是最小值的元素。
Python 2.7.3,32 位。 NumPy 1.6.2。 Scipy 0.11.0b1
请您参考如下方法:
如果你可以将整个列表展平成一个 numpy 数组,然后使用 argsort,argsort 的第一行会告诉你哪个数组包含最小值:
a = [1,2,3,4]
b = [3,-4,5,8]
c = [6,1,-7,12]
S = [a,b,c]
S2 = np.array(S)
S2.argsort(axis=0)
array([[0, 1, 2, 0],
[1, 2, 0, 1],
[2, 0, 1, 2]])
