gpt4 book ai didi

python - 如何根据具体参数分配多个key :value dicts into an already established dictionary,

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:12 27 4
gpt4 key购买 nike

注意:这使用了一个名为 PRAW 的单独库,这对于理解问题并不重要,并且在下面的示例中已用 # !!! 注释了不明确/相关的代码。表示该代码仅在您需要了解代码生成字典列表时才是必需的。

*问题有几层深——我会尽力解释:

我在data.json中有JSON数据,看起来像这样:

 {
"USA":[
{"shortlink":"https://short/74h13v"},
{"responses":[]}
],
"Vietnam":[
{"shortlink":"https://short/74gyn4"},
{"responses":[]}
],
"Italy":[
{"shortlink":"https://short/74h3i9"},
{"responses":[]}
]
}

在模块( scraper.py )中,我有其他数据,其形式为 comment.id="39dn28" , comment.body="this is a comment"

我正在尝试插入多个 comment.idcomment.body实例进入[]附于responses所以它看起来像这样:

{"responses": [
{"39dn28": "this is my response"},
{"39k229": "I'm another response"},
{"35sn64": "another comment"}
]}

对我来说特别棘手的是,我必须考虑每组评论都与单个国家/地区的 ID(或“短链接”)匹配。我已经用 shortlinks = [data[link][0]["shortlink"][-6:] for link in data] 提取了短链接 ID结果是 ['74h3i9', '74gyn4', '74h13v'] .
现在我需要将每组评论与其相应的短链接相匹配,并将这些评论输入到它们正确所属的位置。

以下是我迄今为止所做的尝试,以深入了解我所拥有的以及我想要实现的目标:

with open("data.json", "r") as f:
data = json.load(f)

shortlinks = [data[link][0]["shortlink"][-6:] for link in data]

for sl_id in shortlinks:
# !!! (the following code produces a list of comment dicts.)
submission = reddit.submission(id=sl_id)
submission.comments.replace_more(limit=0)
cmt_data = [{comment.id: comment.body} for comment in submission.comments.list()]

for i in data:
if sl_id in data[i][0]["shortlink"]:
data[i][0]["responses"] = cmt_data

print(data)

几乎有效。由于某种原因,我还返回了额外的空白 'responses': []和额外的短链接。

似乎无法弄清楚。帮助很大,非常感谢。我愿意接受其他方法来完成它,以及存储数据的其他方法(可能不是字典列表等)。

最佳答案

如果你想得到这样的东西:

{
"USA":[
{"shortlink":"https://short/74h13v"},
{"responses":[{},{},{}]}],...]

}

我想,应该是这样的:

for sl_id in shortlinks:
# !!! (the following code produces a list of comment dicts.)
submission = reddit.submission(id=sl_id)
submission.comments.replace_more(limit=0)
cmt_data = [{comment.id: comment.body} for comment in submission.comments.list()]

for i in data:
if sl_id in data[i][0]["shortlink"]:
data[i][1]["responses"] = cmt_data

关于python - 如何根据具体参数分配多个key :value dicts into an already established dictionary,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46602847/

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