Top.Mail.Ru
Ответы

Как вывести значение из словаря через переменную?

Как вывести значение из словаря через переменную?
Вот методы словаря чтобы вы не искали:
dict.clear() - очищает словарь.
dict.copy() - возвращает копию словаря.
classmethod dict.fromkeys(seq[, value]) - создает словарь с ключами из seq и значением value (по умолчанию None).

dict.get(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None).
dict.items() - возвращает пары (ключ, значение).
dict.keys() - возвращает ключи в словаре.
dict.pop(key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение).
dict.popitem() - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.
dict.setdefault(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None).
dict.update([other]) - обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются. Возвращает None (не новый словарь!).
dict.values() - возвращает значения в словаре.

По дате
По рейтингу
Аватар пользователя
Просветленный
7лет

mydict[i]

по ключу?
можно тупо KeyError exception ловить и всё будет норм

Аватар пользователя
Просветленный
7лет

А почему вы просто не прочитали описание методов сами?

1. Обратиться по ключу:
chi = ...
x = int(input('Monthnumber: '))
print(chi[x])

Плохо тем, что если указанный ключ отсутствует, то произойдет генерация KeyError

В этом случае указанный код нужно обернуть в try/except и обрабатывать исключение KeyError.

Как избежать генерации вышеуказанного исключения:
1. Проверить, есть ли такой ключ в словаре, например:
if x in chi:
print(chi[x])
else:
print('Key not found')

2. Воспользоваться методом get:
print(chi.get(x,'key not found')) #Если ключа нет, то будет возвращено 'key not found'. По умолчанию возвращает None