Вывести значение из списка которая находится в словаре
Есть задание.
a = {'Civil Engineering': ['Thomas', 'Benjamin', 'Franklin'],
'Psycology': ['Joe', 'Chedwick', 'Helena']}
Надо использовать одно имя из списка, который является значением у словаря, для выведения утверждения об этом ученике, чтобы получилось как-то так:
This is Franklin. He studies Civil Engineering.
Без понятия как вывести значение из списка в словаре
Ответы (2 шт):
получение значения из словоря:
a = {'Civil Engineering': ['Thomas', 'Benjamin', 'Franklin'],
'Psycology': ['Joe', 'Chedwick', 'Helena']}
print(a["Psycology"])
Соответственно получение значения из списка
print(a["Psycology"][0])
Итого в вашем случае может сработать что то вроде
for key in a.keys():
for person in a[key]:
print(f"This is {person}. He studies {key}")
Так же рекомендую прочитать вот это
https://pythonworld.ru/tipy-dannyx-v-python/slovari-dict-funkcii-i-metody-slovarej.html
и вот это
https://pythonworld.ru/tipy-dannyx-v-python/spiski-list-funkcii-i-metody-spiskov.html
Первый вариант. Имеем обычную проверку на включение в список с итерацией по словарю:
name = 'Thomas'
for k, v in a.items():
print('This is {}. He studies {}'.format(name, k)) if name in v else None
Можно пойти другим путем с "выворачиванием" словаря в ключи-имена и значения-предметы, но тут должны быть уникальные ученики:
a = {'Civil Engineering': ['Thomas', 'Benjamin', 'Franklin'],
'Psycology': ['Joe', 'Chedwick', 'Helena']}
name = 'Thomas'
subj = {}
for k, v in a.items():
subj.update(dict.fromkeys(v, k))
print('This is {}. He studies {}'.format(name, subj[name])) if subj.get(name) else None