gpt4 book ai didi

python - 基于具有一个嵌套字典的键过滤字典列表

转载 作者:行者123 更新时间:2023-12-04 10:44:40 25 4
gpt4 key购买 nike

例子:

[{"a":{"x":13, "y":32, "z":33}, "b":5, "c":7, "d":8, "e":9}, {"a":{"x":18, "y":28, "z":38}, "b":57, "c":77, "d":87, "e":97}, {"a":{"x":17, "y":72, "z":73}, "b":58, "c":70, "d":80, "e":90}, ...]

这只是一个小样本集,但我想要的是一个列表,其中包含每个字典中已过滤的项目列表,如下所示:

示例输出:
[{"x":13, "b":5, "e"9}, {"x":18, "b":57, "e"97}, {"x":17, "b":58, "e"90}, ...]

我可以将其过滤为以下内容:
[{"a":{"x":13, "y":32, "z":33}, "b":5, "e":9}, {"a":{"x":18, "y":28, "z":38}, "b":57, "e":97}, {"a":{"x":17, "y":72, "z":73}, "b":58, "e":90}, ...]

使用以下代码
for i in range(len(results)):
desired_keys = ['a', 'b', 'e']
bigdict = all_results[i]
filtered = {x: bigdict[x] for x in desired_keys if x in bigdict}

但尚未能够弄清楚如何获取嵌套字典的一个元素。

最佳答案

你不能只使用你的方法,因为它只适用于顶级键。您需要指定每个键以及如何从嵌套字典中访问它:

>>> [{'x': e['a']['x'], 'b': e['b'], 'e': e['e']} for e in results]
[{'x': 13, 'b': 5, 'e': 9}, {'x': 18, 'b': 57, 'e': 97}, {'x': 17, 'b': 58, 'e': 90}, ...]

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

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