python如何切片字典

2024-10-01 17:24:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我所拥有的:

[{'model': 're_catalogue.component', 'pk': 1, 'fields': {'name': 'Solar modules', 'name_el': 'Φωτοβολταικά πλαίσια', 'name_de': 'Solarmodul'}}, {'model': 're_catalogue.component', 'pk': 2, 'fields': {'name': 'DC cables', 'name_el': 'DC καλώδια', 'name_de': 'DC-Kabel'}}, {'model': 're_catalogue.component', 'pk': 3, 'fields': {'name': 'DC combiner boxes', 'name_el': 'DC πίνακες', 'name_de': 'DC-Anschlussgehäuse'}}]

for i in range (0,20):
    print(d[i])

输出

^{pr2}$

我需要的是一个只包含'name'和{}的json文件,如下所示:

{
"Solar modules": "Φωτοβολταικά πλαίσια",
"DC cables": "DC καλώδια",
}

谢谢你的帮助。同时我也在努力解决这个问题。在


Tags: nameremodulesfieldsmodeldedcel
3条回答

通过使用dict理解,您将得到一个具有所需输出的dict (假设您的dict列表名为lst):

{i['fields']['name']:i['fields']['name_el'] for i in lst}
new_dict = {}
for e in d:
    new_dict[e['fields']['name']] = e['fields']['name_el']

如果我答对了你的问题,这就是你想要的:

lst = [
    {'model': 're_catalogue.component', 'pk': 1, 'fields': {'name':'Solar modules', 'name_el': 'Φωτοβολταικά πλαίσια', 'name_de': 'Solarmodul'}},
    {'model': 're_catalogue.component', 'pk': 2, 'fields': {'name': 'DC cables', 'name_el': 'DC καλώδια', 'name_de': 'DC-Kabel'}}
]

result = dict()
for i in lst:
    result[i['fields']['name']] = i['fields']['name_el']
print(result)
# {
#    "Solar modules": "Φωτοβολταικά πλαίσια",
#    "DC cables": "DC καλώδια"
# }

相关问题 更多 >

    热门问题