Создать словарь из списка словарей определенным образом

Есть список словарей типа:

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}
→ Ссылка