gpt4 book ai didi

python - 过滤字典列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:21:02 28 4
gpt4 key购买 nike

我有一个相同词典的列表

list_dict = [{'id': 1}, {'id': 2}, {'id': 3}]

现在我想过滤一个特定的字典,其 id 值为 id = 2

我愿意

list_filtered = [ dict for dict in list_dict if dict['id'] == 2]

上面的解决方案有效,但是如果我有一个很长的列表,那么迭代整个列表并检查 id 是否匹配会效率低下。还有其他解决方法吗?

最佳答案

将其设为生成器表达式并一次获取一个匹配项,如下所示

matcher = (d for d in list_dict if d['id'] == 2)
print next(matcher, None)

当您在同一个生成器对象上调用 next 时,它将从上次离开的位置恢复循环。

print next(matcher, None)

next 的第二个参数是生成器表达式耗尽时返回的默认值。

关于python - 过滤字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134952/

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