Как сделать, чтобы только в кноце итерации списка , если в списке не найден нужный объект, исполнялось условие else

#moderator start command
async def moderator_mode(message : types.Message): 
          
        #junior admin check
        list_admins = await sqlite_db.sql_read_admins()
        for admin in list_admins:
             if(admin[1]==message.from_user.id or ID==message.from_user.id):
                  break         
                  await message.reply("<b>Режим администрации младшего порядка успешно активирован ✅\nЧто будем делать?</b>",parse_mode="html",reply_markup=admin_kb.kb_junior_admin)        
             else:
                  await bot.send_message(message.from_user.id,"<b>В доступе администрации младшего порядка отказано\nВы не являетесь администратором или ваша карточка-пропуск ещё не готова</b>",parse_mode="html")

#Суть: из базы данных распаковывается список кортежей и записывается в переменную list_admins. В каждом кортеже по индексу [1] хранится id админа. Цикл for проходится по id в каждом кортеже и , если id пользователя находится в кортеже , то сообщается об активации режима модератора. Проблема: При каждом прохождении цикла , пока id не совпало , выводится сообщение об отказе доступа к админке. Как сделать , чтобы сообщение об отказе выводилось только если цикл полностью прошёлся по всем кортежам , но не нашёл совпадений. В данный момент , даже если id админа в списке, то ему может несколько раз подряд вывестись сообщение об отказе, но в конечном итоге, когда цикл доходит до него,ему сообщают об успешной активации.


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

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

А если использовать такую проверку вместо for?

if message.from_user.id not in list_admins:
  await bot.send_message(message.from_user.id,"<b>В доступе администрации младшего порядка отказано\nВы не являетесь администратором или ваша карточка-пропуск ещё не готова</b>",parse_mode="html")
else:
  await message.reply("<b>Режим администрации младшего порядка успешно активирован ✅\nЧто будем делать?</b>",parse_mode="html",reply_markup=admin_kb.kb_junior_admin)
→ Ссылка
Автор решения: Эникейщик

Передвинуть else на одну позицию влево, на уровень с for.

→ Ссылка