gpt4 book ai didi

python - 有没有办法提取字典的子集

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:05 24 4
gpt4 key购买 nike

我想从一个 json 文件创建一个字典,但我尝试过的所有方法都不起作用。

json_file = [
{'original_block': '94.142.136.0/21',
'transferred_blocks': '94.142.136.0/21',
'from': 'MAROSNET Telecommunication Company LLC',
'to': 'NTX Technologies s.r.o.',
'date': '28/06/2019',
'transferType': 'POLICY'
},
{'original_block': '185.2.4.0/22',
'transferred_blocks': '185.2.4.0/22',
'from': 'REGISTER.IT S.P.A.',
'to': 'REGISTER S.P.A.',
'date': '01/07/2019',
'transferType': 'MERGER_OR_ACQUISITION'
}
]

new = ['original_block', 'date']

newd = {key:value for key,value in json_file.items() if key in new}

print(newd)

它给出错误信息 'list' object has no attribute 'items'

我希望

newd = {'94.142.136.0/21': '28/06/2019', '185.2.4.0/22':'01/07/2019'}

最佳答案

你可以使用 dict 的理解:

data = [{'original_block': '94.142.136.0/21', 'transferred_blocks': '94.142.136.0/21', 'from': 'MAROSNET Telecommunication Company LLC', 'to': 'NTX Technologies s.r.o.', 'date': '28/06/2019', 'transferType': 'POLICY'}, {'original_block': '185.2.4.0/22', 'transferred_blocks': '185.2.4.0/22', 'from': 'REGISTER.IT S.P.A.', 'to': 'REGISTER S.P.A.', 'date': '01/07/2019', 'transferType': 'MERGER_OR_ACQUISITION'}]
new = ['original_block', 'date']
result = dict([c[i] for i in new] for c in data)

输出:

{'94.142.136.0/21': '28/06/2019', '185.2.4.0/22': '01/07/2019'}

编辑:作为预防措施,可以使用 all 检查来确保缺失值不会引发 KeyError:

dict([c[i] for i in new] for c in data if all(j in c for j in new))

关于python - 有没有办法提取字典的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57225067/

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