我有一个列表S = [a[n],b[n],c[n]]
,n=0
列表中的最小值S
是 value 'a'
。鉴于我知道最小值,我该b
如何选择这些值?c
我正在编写的代码经过多次迭代n
,我想检查对于循环中给定迭代来说不是最小值的元素。
Python 2.7.3,32 位。麻木 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]])
也许你可以做类似的事情
S.sort()
S[1:3]
这就是你想要的?