如何从数组中获取表示最多的对象

我有一个包含一些对象的数组,并且有几个相似的对象.例如:水果= [苹果,橘子,苹果,香蕉,香蕉,橙子,苹果,苹果]

从这个数组中获取代表性最高的对象的最有效方法是什么?在这种情况下,它将是“苹果”,但你会如何以有效的方式出去计算?

最佳答案
不要重新发明轮子.在Python 2.7中,您可以使用the Counter class

import collections
fruit=['apple', 'orange', 'apple', 'banana', 'banana', 'orange', 'apple', 'apple']
c=collections.Counter(fruit)
print(c.most_common(1))
# [('apple', 4)]

如果您使用的是旧版本的Python,则可以下载Counter here.

虽然知道如何自己实现这样的事情是很好的,但是习惯使用Counter也是一个好主意,因为它是(或将成为)标准库的一部分.

转载注明原文:如何从数组中获取表示最多的对象 - 代码日志