统计列表中元素出现的次数,并找出出现次数最多的元素
例子
classList = ['a','a','b','b','b','c']
def majorityCnt(classList):
classCount = {}
# 1 统计列表中元素出现的次数,并存储在字典中
for vote in classList:
#classCount[vote] = classCount.get(vote, 0) + 1 # 可以代替下面三行代码
if vote not in classCount:
classCount[vote] = 0
classCount[vote] += 1
# classCount={'c': 1, 'b': 3, 'a': 2}
# 2 根据字典中的key或者value进行排序
# e[0]根据key进行排序,e[1]根据value进行排序;默认为升序排序,reverse=Fault
# 返回为元组列表的形式 [('b', 3), ('a', 2), ('c', 1)]
sortedClassCount = sorted(classCount.items(),key = lambda e:e[1], reverse=True)
# 3 返回出现次数最多的元素
return sortedClassCount[0][0]
print( majorityCnt(classList))