任何人都可以解释这个lambda函数吗? x代表什么? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任何人都可以解释这个lambda函数吗? x代表什么? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

假设您希望按每个字符串中不同字母的数量对字符串集合进行排序:

strings = ['foo', 'card', 'bar', 'aaaa', 'abab']

在这里,我们可以将lambda函数传递给列表的排序方法:

strings.sort(key=lambda x: len(set(list(x))))
strings
['aaaa', 'foo', 'abab', 'bar', 'card']
答案

它计算每个单词的唯一字母。

len(set(list(x))) #creating a set.

集合是无序的项目集合。每个元素都是唯一的(没有重复),必须是不可变的(不能更改)。

Sort函数将此作为排序条件。它将根据此lambda表达式对元素进行评估和排序。

另一答案

sort在列表的每个元素上调用给定的键函数,并在比较两个元素时使用函数的返回值。在这种情况下,列表中的元素将根据每个元素包含的唯一字符数进行排序。例如,aaaa首先出现,因为key函数的计算结果为1,它是唯一只包含一个唯一字符的元素。

要回答标题中的问题,xstrings列表中的一个元素。

以上是关于任何人都可以解释这个lambda函数吗? x代表什么? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

# yyds干货盘点 # Python匿名函数lambda x: x-0 and x-1代表的意思是什么...

六百字搞懂lambda

python3 lambda表达式函数

这个斐波那契 Lambda 函数是如何工作的? [复制]

了解 Python 中的嵌套 lambda 函数行为

对 let 到 lambda 转换感到困惑