Другими словами, у меня есть элементы списка (например, масса), которые должны со временем увеличиваться. Вот пример списка: начиная с последнего элемента 179.2
, каждый элемент после него должен увеличиваться. Мы видим, что это случаи, которым этот критерий не соответствует (после 278.8
).
masst = [306.4, 303.7, 301.7, 301.7, 295.7, 293.9, 288.4, 225.9,
225.2, 278.7, 274.6, 272.9, 269.3, 269.8, 269.1, 271.1,
269.7, 266.9, 266.8, 192.8, 197.6, 196.1, 254.3, 249.6,
244.8, 243.4, 241.2, 237.6, 234.1, 229.8, 223.2, 217.8
211.2, 207.5, 203.5, 199.2, 195.6, 191.7, 188.0, 179.2]
Хотя это пример, у меня есть фактические данные, что это случается, которые также различаются по длине. Поэтому в идеале я пытаюсь разрешить эти списки, просматривая каждый список, пока каждый элемент не увеличивается по сравнению с предыдущим элементом.
Я могу изменить порядок увеличения списка, пока фактический список не совпадет с перестроенным списком:
import numpy as np
check = masst == sorted(masst, reverse=True)
while(check==False):
bool_ = [] # list of true and false statements
for i in range(0, len(masst)-1):
inc = masst[i] >= masst[i+1]
bool_.append(inc)
masst = list(np.array(masst)[bool_])
При этом кажется, что я застрял в гигантской петле! Я немного запутался в том, что я делаю неправильно с моим методом.