我有一個嵌套列表,例如lst = [(123, 'bbb', 'bcd'), (245, 'brb', 'gsh'), (832, 'sge', 'hsw'), (832, 'sge', 'aww'), (123, 'sge', 'hsw'), (123, 'sse', 'hsw')] 我需要計算此列表中嵌套列表中有多少次相同的第一項。輸出應(yīng)如下所示123 - 3 times, 832 - 2 times, 245 - 1 time.我閱讀了集合模塊,但無法理解如何實現(xiàn)它以及它在這里是否有用。
1 回答

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗 獲得超6個贊
只需在元組的第一項列表中使用 :Counter
from collections import Counter
lst = [(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})
(我使用了生成器表達(dá)式而不是列表,因此不會生成中間列表。
添加回答
舉報
0/150
提交
取消