我有这个代码,它按照第二个项目对我的列表进行排序 - 但lambda函数实际上做了什么?
sorted_list.sort(key=lambda x: x[1],reverse=True)
我得到了它们的基本属性;它们是匿名的,一次性的功能 - 但我不知道这里发生了什么。是将x
作为参数并返回x[1]
?
答案 0 :(得分:4)
"是否将load
作为参数并返回$( '.img img' ).load(function() {
$("#scroller").simplyScroll({
auto: false,
speed: 10
});
});
?" 这正是它所做的事情,是的。
写为lambda函数的常规函数:
x
因此该功能相当于x[1]
。
由于key函数的目的是返回排序键,因此生成的键(序列def sortkey(x):
return x[1]
中的第二个元素)就是列表的排序依据。
答案 1 :(得分:3)
这就是它的作用。在shell中进行实验永远不会受到伤害。 Lambda表达式是表达式。它们可以分配给变量并以这种方式进行测试:
>>> f = lambda x:x[1]
>>> f([4,6,2])
6
您也可以直接使用它:
>>> (lambda x:x[1])([4,6,2])
6