I m 寻找从某些原始数字清单中获取每个“新最高”和(或)每个“新最高”指数清单的绝佳途径。
For example, the desired result given a list [1.0, 3.0, 2.0, 3.0, 5.0, 4.0]
would be the list [1.0, 3.0, 5.0]
and/or the list of indexes [0, 1, 4]
.
做到这一点的一个简单办法是:
values = [1.0, 3.0, 2.0, 3.0, 5.0, 4.0]
result = [values[0]]
for val in values:
if val > result[-1]:
result.append(val)
print(result) # [1.0, 3.0, 5.0]
然而,我更有兴趣了解这些类型的清单算法如何以权宜(如非中值一行)和效率(即使有如假定的模块)。