Понимание списка Python: возврат тестовой функции

Есть ли способ проверить возврат функции в понимании списка (или dict)? Я'я хотел бы избежать написания этого:

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

и вместо этого используйте понимание списка. Очевидно, я нене хочу писать:

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

так?

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

Ответы на вопрос(2)

Ваш ответ на вопрос