Найти элементы, которые больше всех предыдущих элементов

Всем привет, есть задание "Найти элементы, которые больше всех предыдущих элементов списка), никак не могу допереть как обращаться сразу ко всем предыдущим элементам, а не к одному. Подскажите как можно решить это задание.

import random

newlist = []
testlist = []
a=1
b=300

def list_create():
    for i in range(1, 30):
        newlist.append(random.randint(a,b))

    print(newlist)

list_create()

Ответы (3 шт):

Автор решения: Эникейщик

Вообще не нужно обращаться ко всем предыдущим элементам, достаточно хранить одно число - максимальный элемент из предыдущих.

→ Ссылка
Автор решения: Danis
import random

newlist = []
testlist = []
a=1
b=300

def list_create():
    for i in range(1, 30):
        newlist.append(random.randint(a,b))

    return newlist

list_ = list_create()
for i in range(1, len(list_)):
    if max(list_[:i]) < list_[i]:
        print(list_[i])

с помощью list_[:x] перем все предыдущие элементы и находим максимум


более эффективный вариант

import random

newlist = []
testlist = []
a=1
b=300

def list_create():
    for i in range(1, 30):
        newlist.append(random.randint(a,b))

    return newlist

list_ = list_create()
max_ = list_[0]
for el in list_[1:]:
    if max_ < el:
        print(el)
        max_ = el
→ Ссылка
Автор решения: Zhihar
  1. идите по массиву слева направо

  2. определяйте максимальный элемент

  3. если максимальный элемент - это текущий элемент, выводите элемент как максимальный из текущих

но вы должны понимать, что в последовательности 1, 2, 3, 4, 5, 6, 7 будет выводиться 2, 3, 4, 5, 6, 7

но это соответствует вашему условию

которые больше всех предыдущих элементов

→ Ссылка