我需要帮助编写一个函数 findMode(aList),该函数接受项目列表作为参数,然后继续查找模式。但是,您的 Python 解决方案必须使用字典来跟踪项目及其计数,作为查找模式的方法(不是平行列表)。
这是我已经尝试过的代码:
def findMode(aList):
aList.sort()
position = 0
largestCount = 0
listLength = len(aList)
while(position <= listLength):
count = aList.count(aList[position])
if(count > largestCount):
largestCount = count
valuePosition = aList[position]
position += count
return aList[valuePosition]
以下是预期结果的一些示例:
>>> findMode([4,3,4,3,2,1,4,5,3,3,4,5,1,4,1,4,5])
[4]
>>> findMode(["horse ", "cat ", "dog ", "turtle ","horse ", "cat ", "dog ", "turtle "])
['horse ', 'cat ', 'dog ', 'turtle ']
最佳答案
这应该可以解决问题:
from collections import Counter
def findMode(aList):
counter = Counter(aList)
max_count = max(counter.values())
return [item for item, count in counter.items() if count == max_count]
关于python - 如何编写一个找到列表模式并将其保存为字典的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996523/