Нужна отправка сообщения ботом. Значения из словаря в одно сообщение
Ситуация следующая: есть бот, проводящий некий опрос пользователя. По завершению опроса отправляет готовый результат админу чата. На данный момент код выглядит следующим образом:
await bot.send_message(id, f'Госпожа, у тебя новая запись:\n{' '.join(c for c in data.values())}')
await. state.finish()
Сейчас всё это выглядит следующим образом: 
Нужно чтобы каждое новое значение выводилось с новой строки. Всё что пока пришло в голову, это прогнать через for, без генератора. Но в таком случае каждое значение будет приходить отдельным сообщением.
Что я упустил? Есть идеи по поводу реализации данной идеи?
Ответы (1 шт):
Благодаря методу str.join() происходит последовательная конкатенация строк: значения str и элементов итерируемого объекта.
В вашем случае последовательно объединяются ' ' и элементы data.values().
Для желаемого результата добавьте в объект str сепаратор '\n'. Во избежание ошибок, связанных с ограничением f-строк, сепаратор можно реализовать следующим образом:
separator = '\n'
print(
f"Here is the text:\n{separator.join(i for i in iterated_object)}"
)
