Помогите с зданием на Яндекс.Практикум

Задание:

В этой задаче вам дан словарь, в котором ключи — имена друзей, а значения — списки любимых песен каждого друга.

Напечатайте на экран:

Количество любимых песен Димы.

Все любимые песни Сони через запятую и пробел.

    favorite_songs = {
        'Серёга': ["Unforgiven", "Holiday", "Highway to hell"], 
        'Соня': ["Shake it out", "Don't stop me now", "Наше лето"], 
        'Дима': ["Владимирский централ", "Мурка", "Третье сентября"]
    }
    
    print (len(favorite_songs["Дима"]))
    
    print(favorite_songs["Соня"]+", ".join(favorite_songs["Соня"]))

Ошибка:

    Traceback (most recent call last):
  File "main.py", line 12, in <module>
    print(favorite_songs["Соня"]+", ".join(favorite_songs["Соня"]))
TypeError: can only concatenate list (not "str") to list

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

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

Ошибка происходит потому, что Вы пытаетесь сложить список (list) со строкой (str). Так делать нельзя. Вам придётся привести один тип к другому. Например, список к строке:

type(favorite_songs['Соня'])             # list
type(", ".join(favorite_songs['Соня']))  # str

print(str(favorite_songs['Соня']) + ", ".join(favorite_songs['Соня']))
#     ^^^^                      ^
['Shake it out', "Don't stop me now", 'Наше лето']Shake it out, Don't stop me now, Наше лето

Но я не понимаю, зачем Вам это нужно. По условию задачи достаточно только части с методом join:

favorite_songs = {
    'Серёга': ["Unforgiven", "Holiday", "Highway to hell"], 
    'Соня': ["Shake it out", "Don't stop me now", "Наше лето"], 
    'Дима': ["Владимирский централ", "Мурка", "Третье сентября"],
}
    
print(len(favorite_songs['Дима']))
print(", ".join(favorite_songs['Соня']))

stdout:

3
Shake it out, Don't stop me now, Наше лето
→ Ссылка
Автор решения: chinasnas
print(len(favorite_songs['Дима']))

songs = favorite_songs['Соня']

for song in songs:
 
    print(song)

Результат

3

Shake it out

The Show Must Go On

Наше лето

→ Ссылка
Автор решения: Светлана Петличная
favorite_songs = {
    'Серёга': ['Unforgiven', 'Holiday', 'Highway to hell'], 
    'Соня': ['Shake it out', 'The Show Must Go On', 'Наше лето'], 
    'Дима': ['Владимирский централ', 'Мурка', 'Третье сентября']
}

number_dima = len(favorite_songs['Дима'])
print(number_dima)
   
for songs in favorite_songs.values():
    favorit_sonya = favorite_songs['Соня']
for i in favorit_sonya:
    print(i)
→ Ссылка