Python lambda 函数声明和列表生成调用
Python lambda function declaration and call for list generation
在生成如下列表时,lambda 函数在方括号外声明,然后应用于每个 i
、
>>> g = lambda x: x*10
>>> [g(i) for i in range(10,21)]
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
是否可以(以及如何)在列表中声明 lambda 函数并调用它?
疯狂的方式:
[(lambda x: x*10)(i) for i in range(10,21)]
理智的方式:
[i * 10 for i in range(10,21)]
您可以将地图用于:
>>> list(map(lambda x:x*10,range(10,21)))
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
在生成如下列表时,lambda 函数在方括号外声明,然后应用于每个 i
、
>>> g = lambda x: x*10
>>> [g(i) for i in range(10,21)]
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
是否可以(以及如何)在列表中声明 lambda 函数并调用它?
疯狂的方式:
[(lambda x: x*10)(i) for i in range(10,21)]
理智的方式:
[i * 10 for i in range(10,21)]
您可以将地图用于:
>>> list(map(lambda x:x*10,range(10,21)))
[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]