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

问题描述 投票:-4回答:2

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

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

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

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

strings.sort(key=lambda x: len(set(list(x))))
strings
['aaaa', 'foo', 'abab', 'bar', 'card']
python python-3.x lambda
2个回答
0
投票

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

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

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.