python 统计数组中元素出现次数并进行排序
2017-12-20 16:10
821 查看
lis = [12,34,456,12,34,66,223,12,5,66,12,23,66,12,66,5,456,12,66,34,5,34] def test1(): #进行去重 c = [] for i in lis: if i not in c: c.append(i) #进行统计,生成二维列表 b = [] for i in c: num = 0 for j in range(len(lis)): if lis[j] == i: num += 1 a = [] a.append(i) a.append(num) b.append(a) # 排序算法,按出现次数进行降序排列 for i in range(len(b)): for j in range(i,len(b)): if b[i][1] < b[j][1]: temp = b[i] b[i] = b[j] b[j] = temp print(b) def test2(): # set进行去重,进行统计生成二维列表 b = [] for i in list(set(lis)): num = 0 for j in range(len(lis)): if lis[j] == i: num += 1 a = [] a.append(i) a.append(num) b.append(a) # 排序算法,按出现次数进行降序排列 for i in range(len(b)): for j in range(i,len(b)): if b[i][1] < b[j][1]: temp = b[i] b[i] = b[j] b[j] = temp print(b) def test3(): # 统计元素出现次数,元素为key,次数为value,生成字典 a = {} for i in lis: if i in a: a[i] = a[i] + 1 else: a[i] = 1 # 使用sorted对字典进行排序 b = sorted(a.items(),key=lambda item:item[1],reverse=True) print(b) def test4(): from collections import Counter import operator #进行统计 a = dict(Counter(lis)) #进行排序 b= sorted(a.items(), key=operator.itemgetter(1),reverse=True) print(b) if __name__ == '__main__': test1() test2() test3() test4()
输出结果如下:
[[12, 6], [66, 5], [34, 4], [5, 3], [456, 2], [223, 1], [23, 1]] [[12, 6], [66, 5], [34, 4], [5, 3], [456, 2], [23, 1], [223, 1]] [(12, 6), (66, 5), (34, 4), (5, 3), (456, 2), (23, 1), (223, 1)] [(12, 6), (66, 5), (34, 4), (5, 3), (456, 2), (23, 1), (223, 1)]
这是面试过程中遇到的一个问题找到的解决方法,总结了一下,小编是初学者,还需不断努力学习。
相关文章推荐
- python 统计数组中元素出现次数并进行排序的实例
- python统计数组元素出现次数以及排序
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- Python统计列表(List)中的重复项出现的次数并进行排序
- 统计数组中各个元素出现的次数,并按照次数从大到小排序
- 统计数组 arr 中值等于 item 的元素出现的次数
- 一个一维整形数组,若干个数字,统计数组中不同的数字出现的次数,并按照出现频率从小到大排序输出,相同频率按数字大小排序输出
- Swift按照数组元素出现的次数及大小排序
- python【3】-统计序列中元素出现的次数(频度)
- [Python]数字在排序数组中出现的次数 解题思路
- 统计一个整数在排序(升序)整数数组中出现的次数
- MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计数组各个元素的出现的次数
- Swift按照数组元素出现的次数及大小排序
- Python统计列表元素出现次数
- 排序一个列表序列,并统计每一个元素出现的次数
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 统计一个数字在排序数组中出现的次数
- Swift按照数组元素出现的次数及大小排序