gpt4 book ai didi

python - 使用python删除字典内列表中的元素

转载 作者:行者123 更新时间:2023-11-30 22:57:51 25 4
gpt4 key购买 nike

我有这个 json 结构:

{
"http://marvel.wikia.com/wiki/Virginia_Potts_(Earth-33900)": [
"/wiki/Virginia_Potts_(Earth-616)",
"/wiki/Earth-33900",
"/wiki/Stark_Industries_(Earth-33900)",
"/wiki/AAFES_Vol_1_15",
"/wiki/Washington_State",
"/wiki/Pepper_Potts",
"/wiki/Tom_Grummett",
"/wiki/William_Harms",
"/wiki/Virginia_Potts_(Earth-616)#Abilities",
"/wiki/Seattle"
],
"http://marvel.wikia.com/wiki/Virginia_Potts_(Earth-5631)": [
"/wiki/Pepper_Potts",
"/wiki/Earth-5631",
"/wiki/Iron_Man_and_Power_Pack_Vol_1_1",
"/wiki/Marc_Sumerak"
],
...

我想迭代 json,并为每个项目验证其链接之一(它是链接列表)是否不包含在另一个具有完整字符列表的 json 中(在下面的代码中,它是 characters)。在这种情况下,我想从列表中删除该链接。最后将字典 (links_ref) 保存在文件中。

for item in links_ref:
for link in links_ref[item]:
if link not in characters:
links_ref[item].pop(link)
json.dump(links_ref, open('links_raf.json', 'w'))

这段代码当然不起作用,我也尝试了 del link 但是,即使它没有启动异常,它也没有从列表中删除链接。

希望有人能帮助我,我是Python新手,所以如果你能为我的问题提出更好的解决方案,我会非常高兴。谢谢

最佳答案

在迭代列表时无法修改列表。不过,您可以使用列表理解来过滤掉链接:

for item, links in links_ref.items():
links_ref[item] = [link for link in links if link in characters]

关于python - 使用python删除字典内列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36437374/

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