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

python字典如何计算键值对的总数

python字典如何计算键值对的总数

慕姐4208626 2019-04-27 22:14:36
{'a':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'b':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'c':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'d':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'e':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'f':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456'),'g':('123123','asdasd','123asd','000000','111111','123456','1234567','12345678','123456789','a123456')}如上,键值对有70,使用len()方法只能得出7,求在最好不用FOR循环的情况用dict对象最优的自带方法使结果为70(如果有的话)
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

追求性能能的情况下,列表推导性能最高,循环次之,map最差
所以写法应该是用列表推导更合适
sum([len(_)for_ind.values()])
                            
查看完整回答
反对 回复 2019-04-27
?
ibeautiful

TA贡献1993条经验 获得超5个赞

那你这是不算是计算键值对的数量啊...而是计算每个值的length之和,所以没有办法使用dict对象内置的东东来解决
目前我想到的方法就是
sum(map(lambdax:len(x)ifhasattr(x,"__len__")else1,v)
//v是你的dict
抛砖引玉吧
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 4960 浏览
慕课专栏
更多

添加回答

举报

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