我正在研究一个项目,我需要连续找到列表中的最小值。例如:
sample = [0, 4, 68, 6344, 342, 3, 32, 21, 215, 589]
你能告诉我它将如何返回最小值,不包括零,即3,然后是4,直到它变为6344?我不能使用sort然后将它从索引0打印到len(样本),因为在每个循环(在我的项目中)之后,列表将被追加并且顺序可能会失真。
答案 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]
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]