[英]python how to slice a dictionary
what I have: 我有的:
[{'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])
The output 输出
{'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'}}
{'model': 're_catalogue.component', 'pk': 4, 'fields': {'name': 'Inverters', 'name_el': 'Μετατροπείς', 'name_de': 'Wechselrichter'}}
{'model': 're_catalogue.component', 'pk': 5, 'fields': {'name': 'AC cables', 'name_el': 'ΑC καλώδια', 'name_de': 'AC-Kabel'}}
{'model': 're_catalogue.component', 'pk': 6, 'fields': {'name': 'AC combiner boxes', 'name_el': 'AC πίνακες', 'name_de': 'AC-Anschlussgehäuse'}}
what I need is a json file that includes only the 'name'
and 'name_el'
like the following: 我需要的是一个仅包含'name'
和'name_el'
的json文件,如下所示:
{
"Solar modules": "Φωτοβολταικά πλαίσια",
"DC cables": "DC καλώδια",
}
Thank you for any help. 感谢您的任何帮助。 At the same time I am trying to solve it as well. 同时,我也在尝试解决它。
通过使用dict理解,您将获得具有所需输出的dict(假设您的dict列表称为lst
):
{i['fields']['name']:i['fields']['name_el'] for i in lst}
If i get your question right, this is what you want: 如果我正确回答您的问题,这就是您想要的:
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 καλώδια"
# }
new_dict = {}
for e in d:
new_dict[e['fields']['name']] = e['fields']['name_el']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.