当前位置:  开发笔记 > 编程语言 > 正文

识别具有最大键数的值

如何解决《识别具有最大键数的值》经验,为你挑选了0个好方法。

我有一个类似这样的词典:

 ip = { "1" : ['a','b'],
      "2" : ['a','c'],
      "3" : ['a','b','c','d'],
      "4" : ['a','b','d','e']}

我需要找到值集中的哪些项目具有最大数量的密钥,并且还按降序列出项目.输出将是这样的:

op = {"a":4,"b":3,"c":2,"d":2,"e":1}

但我在某处读到dict不能排序,所以输出也可以是一个元组:

op = [('a', 4), ('b', 3), ('c', 2), ('d', 2), ('e', 1)]

我们可以遍历dict,并且对于值集中的每个项,都会为该项添加结果defaultdict.

op = defaultdict(int)
for k,v in ip.iteritems():
    for item in v:
        op[item]+=1
op = sorted(op.items(), key=lambda x: x[1], reverse=True)

有没有比嵌套更快/更好的方法?

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有