Python:计算列表中的重复元素

新手上路,请多包涵

我是 Python 新手。我试图找到一种简单的方法来计算列表中重复的元素数量,例如

MyList = ["a", "b", "a", "c", "c", "a", "c"]

输出:

 a: 3
b: 1
c: 3

原文由 Jojo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 776
2 个回答

您可以使用 count 来做到这一点:

 my_dict = {i:MyList.count(i) for i in MyList}

>>> print my_dict     #or print(my_dict) in python-3.x
{'a': 3, 'c': 3, 'b': 1}

使用 collections.Counter

 from collections import Counter

a = dict(Counter(MyList))

>>> print a           #or print(a) in python-3.x
{'a': 3, 'c': 3, 'b': 1}

原文由 sshashank124 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 Counter

 >>> from collections import Counter
>>> MyList = ["a", "b", "a", "c", "c", "a", "c"]
>>> c = Counter(MyList)
>>> c
Counter({'a': 3, 'c': 3, 'b': 1})

原文由 Jayanth Koushik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题