python 里lamda函数的疑问

(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 ,我们会得到一个结果列表, 最后对结果排序。如果你还是不明白,可以通过下面程序得到相同的结果:
图片说明