Несколько функций в map

Возможно ли в map() использовать несколько функций? То есть, например, у меня есть список [1, 0, -3, 10]. Я хочу: к числам меньше 0 прибавлять 2, к числам равным нулю прибавлять 3, к положительным числам прибавлять 2. Могу ли я реализовать все это в одном map или же мне придется прописывать три разных map для каждого случая? (цикл for использовать нельзя).

Если придется прописывать три разных случая, можно ли в итоговом списке сохранить порядок чисел из исходного списка?


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

Автор решения: Эникейщик
def my_fun(n):
  if n < 0:
    return n+2
  elif n == 0:
    return 3
  else:
    return что там еще

x = map(my_fun, [1,0,-3,10]) 
→ Ссылка
Автор решения: Danis
map(lambda x: 3 if x == 0 else x + 2 if x < 0 else x - 2, list_) 
→ Ссылка