gpt4 book ai didi

python - 根据键过滤Python中的字典列表

转载 作者:行者123 更新时间:2023-12-01 15:29:25 24 4
gpt4 key购买 nike

我需要过滤字典列表以仅保留具有名为“children”的键的字典。这是列表的示例:

[{u'id': 5650, u'children': [{u'id': 4635}]}, {u'id': 5648, u'children': [{u'id': 67}, {u'id': 77}]}, {u'id': 5649}]

这是我需要获得的:

[{u'id': 5650, u'children': [{u'id': 4635}]}, {u'id': 5648, u'children': [{u'id': 67}, {u'id': 77}]}]

这是我尝试过的:

dict((k, data[k]) for k in keys if k in data)

而我得到的,是不好的:

[{u'children': [{u'id': 4635}]}, {u'children': [{u'id': 67}, {u'id': 77}]}, {}]

有什么线索吗?提前致谢!

最佳答案

您可以使用 filter()功能。它将采用 2 个参数 filter(function, iterable)。只会考虑函数返回的那些值。

a=[{u'id': 5650, u'children': [{u'id': 4635}]},
{u'id': 5648, u'children': [{u'id': 67}, {u'id': 77}]},
{u'id': 5649}]

print filter(lambda x: 'children' in x, a)

输出:

[{u'id': 5650, u'children': [{u'id': 4635}]},
{u'id': 5648, u'children': [{u'id': 67}, {u'id': 77}]}]

filter(function, iterable) 等价于[item for item in iterable if function(item)]

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

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