AttributeError: 'list' object has no attribute 'title'

Учусь работать с классами. Не вижу ошибки. Ошибка

  File "restaurqantr.py", line 6, in <module>
    print(name.title() + "'s favorite language is " + language.title() + ".")
AttributeError: 'list' object has no attribute 'title'
favorite_languages = {
'jen' : ['python'],
'sarah' : ['c'],
}
for name, language in favorite_languages.items():
 print(name.title() + "'s favorite language is " + language.title() + ".")

Ответы (1 шт):

Автор решения: CrazyElf

А зачем вы сделали списки в словаре? Если только один язык может быть предпочтительным, то списки не нужны там:

favorite_languages = {
'jen' : 'python',
'sarah' : 'c',
} 

for name, language in favorite_languages.items():
    print(name.title() + "'s favorite language is " + language.title() + ".")

Вывод:

Jen's favorite language is Python.
Sarah's favorite language is C.

Если же предполагается, что языков может быть несколько, то оставляем списки, но каждый список надо как-то вписать в строку, делаем это с помощью спискового включения:

favorite_languages = {
'jen' : ['python', 'asm'],
'sarah' : ['c', 'java'],
}
for name, language in favorite_languages.items():
    print(name.title() + "'s favorite languages are " + ', '.join(map(str.title, language)) + ".")

Вывод:

Jen's favorite languages are Python, Asm.
Sarah's favorite languages are C, Java.
→ Ссылка