对嵌套列表中的元素进行计数

我有一个嵌套列表,例如


lst = [(123, 'bbb', 'bcd'), (245, 'brb', 'gsh'), (832, 'sge', 'hsw'), 

       (832, 'sge', 'aww'), (123, 'sge', 'hsw'), (123, 'sse', 'hsw')] 

我需要计算此列表中嵌套列表中有多少次相同的第一项。输出应如下所示


123 - 3 times, 832 - 2 times, 245 - 1 time.

我阅读了集合模块,但无法理解如何实现它以及它在这里是否有用。


天涯尽头无女友
浏览 78回答 1
1回答

呼啦一阵风

只需在元组的第一项列表中使用 :Counterfrom collections import Counterlst = [(123, 'bbb', 'bcd'), (245, 'brb', 'gsh'), (832, 'sge', 'hsw'),        (832, 'sge', 'aww'), (123, 'sge', 'hsw'), (123, 'sse', 'hsw')]Counter((tup[0] for tup in lst))# Counter({123: 3, 245: 1, 832: 2})(我使用了生成器表达式而不是列表,因此不会生成中间列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java