Zrozumienie listy Pythona: powrót funkcji testowej

Czy istnieje sposób na sprawdzenie zwrotu funkcji na liście (lub dyktacie) zrozumienia? Chciałbym uniknąć pisania tego:

lst = []
for x in range(10):
  bar = foo(x)
  if bar:
    lst.append(bar)

i zamiast tego użyj rozumienia listy. Oczywiście nie chcę pisać:

[foo(x) for x in range(10) if foo(x)]

więc?

[foo(x) for x in range(10) if ??? ]

questionAnswers(2)

yourAnswerToTheQuestion