Python: Как запросить словарь, используя переменную в качестве ключа

У меня есть список из модели Django, который может иметь dict_items с любым ключом из модели. Например, я могу иметь список с атрибутом 'country' или 'name' из той же модели, используя функцию.

x = dict_items([(<country: US>, 1), (<country: UK>, 1), (<country: Australia>, 2), (<country: Canada>, 1)])
x = dict_items([(<name: John>, 10), (<name: Jane>, 15), (<name: Smith>, 20), (<name: Jess>, 1)])

Теперь я пытаюсь построить другую функцию для очистки ключей, в основном от (<country: US>, 1) до {'key': 'US', 'val': 1}

    def pctTop5 (dict, keyy):
        pList = []
        for (key,value) in dict:
            pdict = {}
            pdict['key'] = key.keyy
            pdict['val'] = value
            pList.append(pdict)
        df = pandas.DataFrame(pList)
        return df

Однако, я получаю следующую ошибку:

'countryModel' object has no attribute 'keyy'

Объект 'countryModel' здесь - это модель Django, которая, очевидно, не имеет атрибута 'keyy'.

Как правильно передать переменную для запроса ключа dict? Мне нужно передать переменную в качестве ключа и повторно использовать функцию в различных представлениях.

Я пытался искать, но большинство ответов касается использования переменной для создания списка dicts, но не смог найти ни одного для запроса одного.

ТИА

Пожалуйста, отредактируйте вопрос и добавьте свой вызов, который генерирует ошибку.

Думаю, проблема в том, как вы вызываете словарь, вместо key.keyy используйте key[keyy]

Спасибо всем!

Кто-то написал getattr() в течение нескольких минут, а затем удалил его. Я попробовал заменить key.keyy на getattr(key, keyy) и это решило проблему.

Спасибо

Вернуться на верх