我正在尝试将普通函数中的lambda函数转换为使用它作为键,但我无法理解它。
def most_appear(name_list):
return max(name_list, key=lambda x: name_list.count(x))
这个lambda如何工作? 我如何创建一个用作键的函数?
答案 0 :(得分:1)
它的语法稍微方便一点:
def func(x):
return name_list.count(x)
然后
... max(..., key=func)
答案 1 :(得分:0)
此函数计算每个元素的数量,并返回包含大多数元素的元素。 lambda
不是必需的,因为name_list.count
已经是一个函数:
def most_appear(name_list):
return max(name_list, key=name_list.count)
答案 2 :(得分:0)
在这种情况下,如果你有两个函数参数,你可以使用部分函数
from functools import partial
def replace_lambda(lst, item):
return lst.count(item)
def most_appear(name_list):
func = partial(replace_lambda, name_list)
return max(name_list,key=func )