列表中的连续最小值

时间:2014-05-20 05:15:28

标签: python

我正在研究一个项目,我需要连续找到列表中的最小值。例如:

sample = [0, 4, 68, 6344, 342, 3, 32, 21, 215, 589]

你能告诉我它将如何返回最小值,不包括零,即3,然后是4,直到它变为6344?我不能使用sort然后将它从索引0打印到len(样本),因为在每个循环(在我的项目中)之后,列表将被追加并且顺序可能会失真。

1 个答案:

答案 0 :(得分:4)

为什么不对列表进行排序:

sample = [0, 4, 68, 6344, 342, 3, 32, 21, 215, 589]

mins = sorted(i for i in sample if i!=0)

>>> print mins
[3, 4, 21, 32, 68, 215, 342, 589, 6344]

OR

sample = [0, 4, 68, 6344, 342, 3, 32, 21, 215, 589]

mins = sorted(filter(lambda x: x!=0, sample))

>>> print mins
[3, 4, 21, 32, 68, 215, 342, 589, 6344]