为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

天涯尽头无女友 2022-09-20 16:50:43
我有一个嵌套列表,例如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.我阅读了集合模块,但无法理解如何实现它以及它在这里是否有用。
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超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})

(我使用了生成器表达式而不是列表,因此不会生成中间列表。


查看完整回答
反对 回复 2022-09-20
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信