标签: python python-2.7 lambda
对于Python 2.7,下面的lambda表达式的逻辑是什么,被这部分int(s)搞糊涂了,似乎没有变量叫做s。
int(s)
x = [tuple(map(lambda s: int(s), x.split(':'))) for x in y.split(' ')]
答案 0 :(得分:4)
lambda函数与map一起使用,因此lambda的参数从map的第二个参数传递。了解map如何工作将有助于您更好地理解lambda如何获取其参数:
lambda
map
将功能应用于iterable的每个项目并返回一个列表 结果。如果传递了其他可迭代参数,则函数必须 拿出那么多参数并应用于所有的项目 并行迭代
iterable
因此s表示可迭代x.split(':')中的每个项目,int(s)表示项目s显式转换为整数,其中int(x)是返回对象lambda。
s
x.split(':')
int(x)
您可以阅读有关lambda和map