Я пытаюсь найти пропущенные числа в произвольном списке.В упорядоченном списке мой код работает нормально, но в произвольном списке не работает.Это мой код:
a = [10,12,13,8]
b = [x for x in range(a[0], a[-1] + 1)]
a = set(a)
print(list(a ^ set(b)))
Вывод:
[8, 10, 12, 13]
Но когда a
отсортирован, вывод получается нормально:
[9,11]
Что не так в моем коде и как я могу это исправить?PS.Я знаю, что могу просто отсортировать список и устранить проблему, но я хочу, чтобы он работал и с произвольным списком.