Используйте функцию lambda
( документы ). Я использовал функции-заполнители foo()
и bar()
, которые вам придется заменить на биты "do this" / "do that".
resultList = map(lambda x: foo(x) if x > 0 else bar(x), listOfNumbers)
Альтернатива, которая, как справедливо говорит @hop, является предпочтительным методом в Python, заключается в использовании списочного понимания. Это даже не требует использования функции lambda
.
resultList = [foo(x) if x > 0 else bar(x) for x in listOfNumbers)