Как очистить все целые числа в списке, если новое добавленное целое число имеет меньшее значение, чем наибольшее целое число в этом списке

#python

#python

Вопрос:

Итак, у меня изначально есть список целых чисел:

 Lst=[10,5,8]
  

Когда я ввожу добавить целое число, например, 4, я хочу, чтобы список был таким:

 Lst=[4]
  

Поскольку число 4 меньше предыдущего наибольшего значения (10), все предыдущие целые числа удаляются.

Опять же, если я добавлю другое значение, например 12, список должен стать похожим [4,12] , но я понятия не имею, как добавлять и удалять целые числа одновременно, как я должен это кодировать?

Комментарии:

1. if x < datapoint: Lst = [x] else: Lst.append(x) Ничего особенного в том, чтобы делать две простые вещи одну за другой. Просто сделайте это.

2. Ах, спасибо, человек ценит это :))

3. Вы могли бы отслеживать наибольшее значение? Если добавляемое значение меньше этого наибольшего значения, ваш список будет [new_value] иным List.append(new_value) . Нет?

Ответ №1:

вы можете использовать эту функцию

 def func(l, n):# l is the list, n is the number
    prev_max = max(l)# previous max value
    if n > prev_max:
        l = [n]
    else:
        l.append(n)
    return l
  

Ответ №2:

 elem = 4
if max(lst) < elem:
    lst = [elem]
else:
    lst.append(elem)