gpt4 book ai didi

python字典理解获取值大于2的子字典

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:11 24 4
gpt4 key购买 nike

所以我有一个名为 self.outliers 的字典,它看起来像这样

{
"foo" : {"freq" : 7, "ids" : [1,2,3,4,5,6,7]},
"bar" : {"freq" : 2, "ids" : [8,9]}
}

我正在尝试提取所有具有频率 > 然后是 2 我试过的键值:

{(k, self.outliers.get(k)) for k in self.outliers if self.outliers[k]['freq'] > 1}

谁能帮我解决这个问题,因为我已经为此苦恼了一段时间。

最佳答案

你的语法搞混了;去掉括号并添加一个冒号:

{k: self.outliers[k] for k in self.outliers if self.outliers[k]['freq'] > 2}

这也测试频率超过 2 而不是 1。

你可以只遍历items:

{k: v for k, v in self.outliers.items() if v['freq'] > 2}

演示:

>>> outliers = {"foo" : {"freq" : 7, "ids" : [1,2,3,4,5,6,7]},
... "bar" : {"freq" : 2, "ids" : [8,9]}}
>>> {k: v for k, v in outliers.items() if v['freq'] > 2})
{'foo': {'freq': 7, 'ids': [1, 2, 3, 4, 5, 6, 7]}}

关于python字典理解获取值大于2的子字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com