@defild

Как вывести массив одним сообщением чтобы значение было с новой строчке?

Я пишу бота на aiogram мне надо вывести массив так чтобы отправить все с новой строчки и при этом одним сообщениес
вот что у меня есть
for tickers in data2['tickers']:
                market_name.append(tickers['market']['name'])
                market_link.append(tickers['trade_url'])
            for i in range(len(market_name)):
                await message.answer(f"{market_name[i]} - {market_link[i]}\n")
  • Вопрос задан
  • 668 просмотров
Пригласить эксперта
Ответы на вопрос 2
gnifajio
@gnifajio
Совершенствуюсь каждый день
await message.answer('\n'.join([f"{tickers['market']['name']} - {tickers['trade_url']}" for tickers in data2['tickers']]))
Ответ написан
shurshur
@shurshur
Сисадмин, просто сисадмин...
Ну если в цикле делать message.answer по числу элементов в market_name, то сколько ответов напишет бездушный бот? Надо сообщение собрать в одну переменную и затем отправить за один раз. И два цикла тут вообще не к месту, всё можно в одном делать:

answer_message_text = ""
for tickers in data2['tickers']:
    answer_message_text += f"{tickers['market']['name']} - {tickers['trade_url']}\n")
    # а надо ли ещё какие-то массивы использовать?
    #market_name.append(tickers['market']['name'])
    #market_link.append(tickers['trade_url'])
await message.answer(answer_message_text)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы