Как правильно обращаться к элементам во вложенных словарях?

249 просмотра
0
0 Комментариев

Нужно, чтобы получилась надпись «Родителем этого человека является ‘Туреццкоподданый’, а его дедом ‘Отец туреццкоподданого'»

family = {"Остап Бендер": {"Турецкоподанный": "Отец турецкоподанного"},
    "Люк Скайуокер": "Дарт Вейдер",
    "Солид Снейк": "Биг Босс"}
 
# Поиск отца человека и его деда по имени.
son = input("Введите имя человека: ")
if son in family:
    print("\nРодителем человека по имени", son, "является", family[???], "а его дедом", family[???])
else:
    print("Ошибка, такого человека нет в базе данных")


Добавить комментарий

1 Ответы

Python Опубликовано 12.12.2018
0

>>> dad, grandpa = list(family[son].items())[0]
>>> "Родителем человека по имени {son!r} является {dad!r}, а его дедом {grandpa!r}".format(**vars())
"Родителем человека по имени 'Остап Бендер' является 'Турецкоподанный', а его дедом 'Отец турецкоподанного'"

Чтобы получить этот результат, можно открыть интерактивную консоль Питона (REPL) и поиграться со словарём:

>>> son = "Остап Бендер"
>>> family[son]
{'Турецкоподанный': 'Отец турецкоподанного'}
>>> family[son].items()
dict_items([('Турецкоподанный', 'Отец турецкоподанного')])
>>> list(family[son].items())
[('Турецкоподанный', 'Отец турецкоподанного')]
>>> list(family[son].items())[0]
('Турецкоподанный', 'Отец турецкоподанного')

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up