Срабатывание else в цикле for

Даны два множества. В условии сказано, что если в этих множествах есть общие аргументы, то надо вывести их на экран, в противном случае, вывести EMPTY. Не могу догадаться, почему не работает этот код. else срабатывает всегда. Через True тоже не сработало.

for i in list1 & list2:
    print(i)
else:
    print('EMPTY')

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

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

Можно и в одну строчку:

print(*list1 & list2 or ["EMPTY"], sep=" ")
→ Ссылка
Автор решения: AndreyM

Можно просто проверять, пустое ли пересечение множеств или нет. Если оно не пустое - выводить пересечение, иначе, выводить empty

if a & b:
    print(a & b)
else:
    print("empty")
→ Ссылка