В первом случае ты грубо говоря все запускаешь синхронно: синхронно итерируешься по списку, await'ишь - все последовательно
Во втором случае, ты запускаешь множество асинхронных генераторов. Каждый запускается, пишет Started, достигает await и управление переходит следующему генератору. Т.е. получается - сначала все доходят до await (печатают Started), после ставятся в конец и, когда все Started уже написали, начинается исполнение того, что после await
икс равно нулю
пока икс меньше десяти, печатай икс
Икс всегда равно нулю, ты это нигде не меняешь, а ноль всегда меньше десяти. Выхода из цикла не планируется, по крайней мере, в пределах нашей вселенной
Окей на связи 1с программист. Смотри курсы Гилева и Радченко. Потом иди во франчайзи. Читай литературу.
Но лучше не занимайся этим и иди в нормальные языки
Голову включить, для начала.
Как по-твоему, какой вызов выполняет отправку сообщения? Правильно, interaction.send().
Этот вызов у тебя в цикле for member in guild.humans, поэтому для каждого участника сервера будет вызвано interaction.send(), а значит, отправлено отдельное сообщение.
Значит, если хочешь отправлять сведения однажды - вынеси вызов из цикла.
А чтобы не потерять данные, которые ты в цикле собираешь - помещай их в список.
После цикла собери этот список в строку через join(), и отправь эту строку одним вызовом send().
Вы не задаёте вопросов в этой заметке, поэтому просто прокомментирую. Зло — это когда программист делает какие-то вещи необдуманно. От балды. У вас же есть задача и вы решаете её доступным, понятным и удобным способом. Главная мысль уже описана вами же:
существуют ситуации, когда в бизнес-логике возникает необходимость
a = ['file1.txt', 'file10.txt', 'file2.txt']
print(sorted(a, key=lambda x: int(x[4:-4])))
Пояснение по коду. sorted() для строк - сортирует их по алфавиту. Т.е., как оно сортирует АБ АВ БА, так само и для цифр в строке, сначала то что начинается на 1, потом то что на 2 и тд.
Так что для правильной сортировки, подаваемое число-строку нужно из формата строки переводить в число. А там как мы знаем стандартный вид строк, то просто пользуемся срезом [4:-4]