Я изучал учебник Python по документам. python .org и только что узнал, что могу создать список, содержащий квадратные числа, выполнив
lista1 = list(map(lambda x: x**2, range(19)))
, пытаясь это сделать. Я думал написать что-то похожее, что бы заполнить список x -> x, если x чётно, и x -> x ** 3, когда x нечетно. Я хотел сделать это снова, используя лямбда-функции, поэтому я попытался
lista1 = list(map(lambda x:
if x % 2 == 0:
x
else:
x***3, range(19)))
и обнаружил, что, к сожалению, это неверный синтаксис Python. Я знаю, что мог бы сделать это вместо этого, и это работает, потому что я пытался:
def funcx(x):
if x % 2 == 0:
return x
else:
return x**3
lista4 = list(map(lambda x: funcx(x), range(19)))
Но мне было интересно, смогу ли я сделать это без определения funcx (x), просто используя лямбда-функции.
Спасибо!