【发布时间】:2019-03-25 08:51:13
【问题描述】:
假设我有一个这样的列表:
list = [0,0,1,1,1,1,1,1,1,1,3,3,3,3,5,9,9,9,9,9,9,22,22,22,22,22,22,22,22,22,22,45]
前 5 个重复出现的值是: 22、1、9、3 和 0。
获取这些值的最佳方法是什么,以及它们重复出现的次数?我正在考虑将这些值推送到一个新列表中,这样我就会得到类似的东西:
new_list = [22,10, 1,8, 9,6, 3,4, 0,2]
列表值为奇数索引条目,重复出现的值为偶数索引条目。
编辑:不使用库的最简单方法是什么?
【问题讨论】:
-
使用来自
Collections模块的Counter。 -
这些值是否已排序?请参阅
collections.Counter或itertools.groupby。 -
值已经排序。
collections.Counter有效,但我想知道如何在不使用外部库的情况下做到这一点(主要是我自己函数中的代码)。
标签: python arrays list sorting