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

如何在python中查询字典中的值?

如何解决《如何在python中查询字典中的值?》经验,为你挑选了1个好方法。

我有一个列表Python,它是一个包含字典的字典.

{'METTS MARK': {'salary': 365788, 'po': 1}, 'HARRY POTTER':{'salary': 3233233, 'po': 0}

如何计算记录数'po' = 1

我试过这个:

sum = 0
for key, values in DIC:
     if values[po] == 1:
        sum = sum + 1

但它返回: too many values to unpack

提前致谢



1> Willem Van O..:

您可以简单地使用sum和总结条件:

total = sum(values.get('po') == 1 for values in DIC.values())

这相当于(如@VPfB所说):

total = sum (1 for item in DIC.values() if item.get('po') == 1)

但后者的效率稍差.

您也应该使用'po'而不是po因为它是一个字符串,并且您最好使用,.get('po')因为这可以保证如果'po'不是每个字典的一部分它将起作用.

我想你忘了.items()在你的for循环中使用.通过迭代字典,您迭代,在这种情况下,您不能将键解包为具有两个元素的元组.

尽管如此,使用生成器,这将是更高效的内存(可能更快),它是干净的代码.此外,通过直接迭代.values而不是.items希望性能提高,因为可以节省打包和拆包.

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