Python 2.7 lambda表达式问题

时间:2016-06-29 08:12:59

标签: python python-2.7 lambda

对于Python 2.7,下面的lambda表达式的逻辑是什么,被这部分int(s)搞糊涂了,似乎没有变量叫做s。

x = [tuple(map(lambda s: int(s), x.split(':'))) for x in y.split(' ')]
提前谢谢, 林

1 个答案:

答案 0 :(得分:4)

lambda函数与map一起使用,因此lambda的参数从map的第二个参数传递。了解map如何工作将有助于您更好地理解lambda如何获取其参数:

  

将功能应用于iterable每个项目并返回一个列表   结果。如果传递了其他可迭代参数,则函数必须   拿出那么多参数并应用于所有的项目   并行迭代

因此s表示可迭代x.split(':')中的每个项目,int(s)表示项目s显式转换为整数,其中int(x)是返回对象lambda

您可以阅读有关lambdamap

的更多信息