Создать словарь из списка словарей определенным образом
Есть список словарей типа:
prices = [
{
"r030": 36, "txt": "Value_1", "rate": 19.5497, "cc": "AUD", "exchangedate": "23.12.2021"
},
{
"r030": 124, "txt": "Value_2", "rate": 21.1107, "cc": "CAD", "exchangedate": "23.12.2021"
}
]
Создать словарь из списка словарей таким образом, чтобы вышло: {"Value_1" : 19.5497, "Value_2" : 21.1107, ...}
Пытаюсь сделать что-то по типу этого:
currencies_dict = {}
for dict_item in prices:
for key, value in dict_item.items():
if key == "txt" or key == "rate":
Но застреваю и не знаю как дальше...
Ответы (3 шт):
Автор решения: AndreyM
→ Ссылка
Можно просто брать из старого словаря, ключи и значения для нового словаря
currencies_dict = {}
for dict_item in prices:
currencies_dict[dict_item["txt"]] = dict_item["rate"]
print(currencies_dict)
Автор решения: Namerek
→ Ссылка
prices = [
{
"r030": 36, "txt": "Value_1", "rate": 19.5497, "cc": "AUD", "exchangedate": "23.12.2021"
},
{
"r030": 124, "txt": "Value_2", "rate": 21.1107, "cc": "CAD", "exchangedate": "23.12.2021"
}
]
new_prices = {item.get('txt'): item.get('rate') for item in prices}
print(new_prices)
# {'Value_1': 19.5497, 'Value_2': 21.1107}
Автор решения: Zhihar
→ Ссылка
можно сделать так:
res = dict((price['txt'], price['rate']) for price in prices)
или так:
res = {price['txt']: price['rate'] for price in prices}