Вопрос здесь - вам действительно нужно создать список?
Если это так, то все в порядке, но не лучший дизайн.
Хорошей практикой для функции является выполнение только одной вещи, особенно если она имеет побочный эффект, такой как ввод / вывод.
ВВ вашем случае функция создает и отправляет сообщение.
Чтобы исправить это, вы можете создать функцию, которая отправляет сообщение, и функцию, которая генерирует сообщение.
Лучше записать это как.
msgs = [bot.get_message(issue) for issue in issues]
for msg in msgs:
bot.send(msg)
Это более понятно и расширяет использование API, сохраняя побочный эффект изолированным.
Если вы не хотите создавать другую функцию, вы можете, по крайней мере, использовать map
, так как она говорит - «сопоставьте эту функцию каждому элементу».
map(lambda issue: bot.send_issue(issue), issues) # returns a list
Кроме того, функцияsend_issue
не нужен, потому что он просто оборачивает bot.send_issue
.Добавление таких функций только делает код шумящим, что не очень хорошая практика.