(https://www.zhihu.com/question/20125256)
在‘函数式编程’例子里
这一句sorted(list1, key=lambda x: abs(x))
为什么不能直接写出sorted(list1, key=abs(x))呢?
lambda x: abs(x)返回的不也是abs(x)吗?
谢谢!
在sorted(list1, key=abs(x))中,x未定义,怎么能输出它的绝对值呢
只是为了举例子,你可以用
sorted(list1, key=abs)
一样的
sorted(list1, key=lambda x: abs(x)) 的意思是我定义了一个 lambda 函数,它有一个参数 x ,跟普通函数一样,当传入一个参数时,计算它的绝对值, 我们把这个特殊的函数取名叫 key, 然后传入参数 list1 ,我们会得到一个结果列表, 最后对结果排序。如果你还是不明白,可以通过下面程序得到相同的结果: