我有一个列表,看起来像:查找最大值和最小值指数在名单在Python
trial_lst = [0.5, 3, 6, 40, 90, 130.8, 129, 111, 8, 9, 0.01, 9, 40, 90, 130.1, 112, 108, 90, 77, 68, 0.9, 8, 40, 90, 92, 130.4]
名单代表了一系列的实验,每一个最小和最大的指数。例如,在上面的列表中,最小和最大将是如下:
Experiment 1:
Min: 0.5
Max: 130.8
Experiment 2:
Min: 0.01
Max: 130.1
Experiment 3:
Min: 0.9
Max: 103.4
我所获得的值以上,因为我知道每个 实验开始于围绕零(如0.4,0.001每个实验中, 0.009等),并在约130(130,131.2,130.009等)处结束。你可以想象一个喷嘴打开和关闭。当它打开时,压力上升,当它关闭时,压力下降。我正在尝试计算每个实验的最小值和最大值。
我到目前为止所尝试的是遍历列表首先将每个索引标记为max,但我似乎无法得到正确的结果。
这是我的代码。关于如何改变它的任何建议?
for idx, item in enumerate(trial_lst):
if idx > 0:
prev = trial_lst[idx-1]
curr = item
if prev > curr:
result.append((curr, "max"))
else:
result.append((curr, ""))
我正在寻找一种手动方式来做到这一点,没有图书馆。
'MAX((A,I)为(i,a)in enumerate(trial_lst))''''和'min((a,i)for(i,a)in enumerate(trial_lst))'会给你最大/最小值及其索引,但我不看看实验是如何相关的。 – jq170727
感谢您的建议,但这只会返回最小值和索引 – natalien
您问题的标题与您要求的标题不符。此外,您的名单中的不同实验在哪里? –