Как эффективно по отношению к памяти сравнить два неупорядоченных списка

Давайте предположим, что у вас есть два списка, которые содержат одинаковые элементы. Однако эти элементы стоят в разном порядке. Например:

one = [33, 22, 11, 44, 55]
two = [22, 11, 44, 55, 33]

Два приведенных выше списка содержат одни и те же элементы, а вот их порядок отличается. Давайте посмотрим, как мы можем удостовериться, что перед нами два одинаковых списка.

  • Мы можем использовать метод collections.Counter
  • Можно использовать sorted(), если объекты поддаются порядку.
from collections import Counter

one = [33, 22, 11, 44, 55]
two = [22, 11, 44, 55, 33]

print("Эквивалентны ли эти два списка?", Counter(one) == Counter(two))

Вывод:

'Эквивалентны ли эти два списка?', True