🐛 Типичные ошибки
⚡ Кратко
Если выражение не помещается в голове целиком, обычный цикл будет лучше.
Фильтр 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().