Функция из значений словаря, выводит список разбивая по символам

icecream_db = [
{
'name': 'Золотое мороженое',
'description': ('Шарики таитянского ванильного мороженого'),
},
{
'name': 'Готическое мороженое',
'description': ('Чёрное мороженое в чёрном вафельном рожке.'),
},
{
'name': 'Мороженое паста карбонара',
'description': ('Порция макарон под тёмным соусом. ),
},]


def icecream_list(request):
icecreams = []
for i in range(len(icecream_db)):
    icecreams += f'{icecream_db[i]["name"]} :: ' 
return HttpResponse(f'Cписок сортов мороженого: {icecreams}')

Выводит Cписок сортов мороженого: ['З', 'о', 'л', 'о', 'т', 'о', 'е', ' ', 'м', 'о', 'р', 'о', 'ж', 'е', 'н', 'о', 'е', ' ', ':', ':', ' ', 'Г', 'о', 'т', 'и', 'ч', 'е', 'с', 'к', 'о', 'е', ' ', 'м', 'о', 'р', 'о', 'ж', 'е', 'н', 'о', 'е', ' ', ':', ':', ' ...

Функция из значений словаря, выводит список разбивая по символам, что я не так делаю? Должен выводить так:

Золотое мороженное :: Готическое мороженное :: Мороженое паста карбонара


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

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

Отбросил код с request-ами, в упрощенном виде получается примерно так:

icecream_db = [
{
'name': 'Золотое мороженое',
'description': ('Шарики таитянского ванильного мороженого'),
},
{
'name': 'Готическое мороженое',
'description': ('Чёрное мороженое в чёрном вафельном рожке.'),
},
{
'name': 'Мороженое паста карбонара',
'description': ('Порция макарон под тёмным соусом.' ),
},
]

ice = []
for i in icecream_db:
    ice.append(i['name'] + " :: ") 
print(*ice)

насколько Вам нужны разделители в виде ::?

→ Ссылка
Автор решения: Xander

Замените

icecreams = []
for i in range(len(icecream_db)):
    icecreams += f'{icecream_db[i]["name"]} :: '

на

icecreams = ' :: '.join(item['name'] for item in icecream_db)
→ Ссылка
Автор решения: bestmovie clips

замените icecreams = [] на icecreams = ''

→ Ссылка