🐛 Типичные ошибки

⚡ Кратко

Если выражение не помещается в голове целиком, обычный цикл будет лучше.

Фильтр if пишется после for, а выражение if-else пишется до for.

zip возвращает итератор. После list(combined) он исчерпан.

pop(0) у списка сдвигает все элементы. Для очереди используйте deque.popleft().

Множество не гарантирует порядок. Для вывода используйте sorted().

Топ-3 ошибки: путать ссылку и копию; ожидать порядок там, где его нет; усложнять выражение, когда обычный цикл читается лучше.

Слишком сложный comprehension

Если выражение не помещается в голове целиком, обычный цикл будет лучше.

if-else не на том месте

Фильтр if пишется после for, а выражение if-else пишется до for.

Повторное использование zip-объекта

zip возвращает итератор. После list(combined) он исчерпан.

Очередь на list.pop(0)

pop(0) у списка сдвигает все элементы. Для очереди используйте deque.popleft().

Ожидание алфавитного порядка set

Множество не гарантирует порядок. Для вывода используйте sorted().