gpt4 book ai didi

python - 过滤字典 'like' 字符串

转载 作者:行者123 更新时间:2023-12-02 16:31:19 25 4
gpt4 key购买 nike

我正在为供应商 API 构建 python 脚本。我在响应正文中得到以下返回:

[
{
"ID": 3189,
"DefID": 17,
"Value": "Newspaper",
"Name": null,
"ForeignKey": 54245074
},
{
"ID": 3190,
"DefID": 17,
"Value": "Newspaper",
"Name": null,
"ForeignKey": 604567819
},
{
"ID": 3191,
"DefID": 18,
"Value": "TV",
"Name": null,
"ForeignKey": 1169994785
},
etc.

类型本来是<class bytes>,我通过使用转换成了<class str>

data_str = data_bytes.decode('utf-8')

然后我尝试将其转换为字典,但由于格式原因,这不起作用。

data_dict = json.loads(data_str)

如何通过 ForeignKeys 过滤来创建 Value 及其相应 DefID 的字典?

例子:

#for defID = 17
data_dict17 = {54245074:"Newspaper", 604567819:"Newspaper"}

#for defID = 18
data_dict18 = {1169994785:"TV"}

感谢任何帮助!

最佳答案

与其拥有很多不同的变量,不如将它们放入自己的字典中:

from collections import defaultdict
data_dict = defaultdict(dict)

for d in json.loads(data_str):
data_dict[d['DefID']][d['ForeignKey']] = d['Value']

结果:

>>> data_dict
defaultdict(<class 'dict'>, {17: {54245074: 'Newspaper', 604567819: 'Newspaper'}, 18: {1169994785: 'TV'}})

如果您更喜欢常规的dict,您可以在末尾使用data_dict = dict(data_dict)

关于python - 过滤字典 'like' 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63450922/

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