python中lambda到函数的转换

2024-05-19 05:53:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法在正常函数中转换它。在

def closest(u): 
    return min(updated_unique_list, key=lambda v: len(set(u) ^ set(v)))

labda和min是怎么工作的?
我试图从文档中理解,但是我想通过这个例子来理解,并创建一个普通函数,而不是这个lambda函数。在


Tags: lambdakey函数文档lenreturndefmin
1条回答
网友
1楼 · 发布于 2024-05-19 05:53:07

^{}查找iterable相对于函数的最小值。^Python中的{}可以大致视为(忽略一些细节,如尽可能少地调用{}或者只遍历列表一次)

retval = lst[0]
for item in lst:
  if func(item) < func(retval):
     retval = item
return retval

在您的例子中,它在updated_unique_list中找到v,这样len(set(u) ^ set(v))是最小值。在

现在,两个集合之间的^就是它们的symmetric differenceset(u) ^ set(v)返回一组不同时出现在uv中的元素集。如果uv相等,则结果的大小为零;如果它们根本不重叠,则结果的大小为最大值。在

因此,该函数尝试在updated_unique_list中查找一个对象,该对象具有与u最常见的元素。在

如果您想要“normal function”,只需根据我前面描述的算法展开min。在

相关问题 更多 >

    热门问题