如何根据项的数量对Python列表进行降序排序,但只返回排序后的项而不带数量?

0 投票
1 回答
795 浏览
提问于 2025-04-18 07:13

我在用Python生成一些很大的列表,现在我需要找出最快的方法,把这些列表按照某种方式排序。

myList = ['a','b','c','a','c','a']

然后我想要得到一个按数量降序排列的列表,结果应该是这样的。

sortedList = ['a','c','b']

我之前用的是Counter().most_common(),这个方法返回的是一个包含元组的列表,元组里有每个项目和它在列表中出现的次数。我其实只需要一个按数量降序排列的元组或列表,里面只包含项目,不需要出现次数。有没有什么好主意?

编辑:
那这样做会更快吗?

myList = ['a','b','c','a','c','a']
count = Counter(myList).most_common()
res = [k for k,v in count]

1 个回答

5

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个功能时,发现它并没有按照预期工作,这时候就需要去查找原因。

通常,我们可以通过查看文档、搜索网上的解决方案或者询问其他开发者来找到答案。很多时候,其他人也遇到过类似的问题,他们会在网上分享自己的经验和解决方法。

总之,遇到问题是学习编程的一部分,重要的是要保持耐心,积极寻找解决方案。记住,编程是一个不断学习和成长的过程。

from collections import Counter

myList = ['a','b','c','a','c','a']
res = [k for k,v in Counter(myList).most_common()]
# ['a', 'c', 'b']

撰写回答