Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何在列表中查找非最小值的数字_Python_List_Numpy_Minimum - Fatal编程技术网

Python-如何在列表中查找非最小值的数字

Python-如何在列表中查找非最小值的数字,python,list,numpy,minimum,Python,List,Numpy,Minimum,我有一个列表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也许您可以执行以下操作 S.sort() S[1:3] 这就是您想要的?如果您可以将整个列表展平为一个numpy数组,然后使用argsort,argsort的第一行将告诉您哪个数组包含最小值: a = [1,2,3,4]

我有一个列表
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

也许您可以执行以下操作

S.sort()
S[1:3]

这就是您想要的?

如果您可以将整个列表展平为一个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]])

所以基本上你想要实现的是,对于每个元组
(a,b,c)
选择
b
c
,假设
b
c
大于
a
,对吗?(假设元组已经排序)是的,但我无法知道最小值将在哪个索引中,除非每次迭代我都可以对它们进行排序?因为你知道最小值,一个简单的
[x for x in my_list if x>current_minimum]
就可以做到这一点,假设当前最小值存储在
current_minimum