根据字符的出现对列表进行排序

pyz*_*zor 6 python python-3.x

我想输入一个字符串列表,并使用python函数sort()或按出现的字符对它们进行排序sorted()。我可以在编写自己的排序函数的许多代码行中做到这一点,我只是不确定如何在python中如此轻松地做到这一点

sorted()其而言可以取列表和关键

l = ['a', 'wq', 'abababaaa']
#I think it's something like this, I know I'm missing something
sorted(l, key = count('a'))

Run Code Online (Sandbox Code Playgroud)

预期的结果将是

['wq', 'a', 'abababaaa']
Run Code Online (Sandbox Code Playgroud)

Say*_*yse 5

您只是缺少排序键的lambda,因此您可以使用一种方法来引用需要计数的列表项

sorted(l, key = lambda x: x.count('a'))
Run Code Online (Sandbox Code Playgroud)


小智 5

sorted(l, key=lambda r: r.count('a'))
Run Code Online (Sandbox Code Playgroud)