假设您要按数字对字符串集合进行排序 每个字符串中不同字母的组合:
strings = ['foo', 'card', 'bar', 'aaaa', 'abab']
在这里,我们可以将lambda函数传递给列表的sort方法:
strings.sort(key=lambda x: len(set(list(x))))
strings
['aaaa', 'foo', 'abab', 'bar', 'card']
答案 0 :(得分:0)
它正在计算每个单词的唯一字母。
len(set(list(x))) #creating a set.
集合是项目的无序集合。每个元素都是唯一的(没有重复),并且必须是不可变的(不能更改)。
排序功能将此作为排序标准。它将根据此lambda表达式对元素进行求值和排序。
答案 1 :(得分:0)
sort
在列表的每个元素上调用给定的键函数,并在比较两个元素时使用该函数的返回值。在这种情况下,列表元素将根据每个元素包含多少个 unique 字符进行排序。例如,aaaa
排在第一位,因为键函数的求值为1,并且它是唯一仅包含一个唯一字符的元素。
要回答标题中的问题,x
是列表strings
的元素。