Курс Python → Сравнение неупорядоченных списков

Для эффективного сравнения двух неупорядоченных списков по отношению к памяти можно воспользоваться несколькими методами. Предположим, что у нас есть два списка, содержащих одинаковые элементы, но расположенные в разном порядке. Наша задача — убедиться, что списки идентичны, не учитывая порядок элементов.

Один из способов сравнения списков — использовать метод Counter из модуля collections. Этот метод позволяет нам быстро подсчитать количество вхождений каждого элемента в обоих списках и сравнить полученные результаты. Если счетчики для обоих списков равны, значит списки содержат одни и те же элементы.

Еще одним способом является использование функции sorted(), если объекты в списках могут быть упорядочены. Мы можем отсортировать оба списка и затем сравнить их отсортированные версии. Если отсортированные списки равны, то исходные списки также идентичны.


from collections import Counter

list1 = [1, 2, 3, 4, 5]
list2 = [3, 5, 1, 2, 4]

if Counter(list1) == Counter(list2):
    print("Списки идентичны")
else:
    print("Списки различаются")

sorted_list1 = sorted(list1)
sorted_list2 = sorted(list2)

if sorted_list1 == sorted_list2:
    print("Списки идентичны")
else:
    print("Списки различаются")

Таким образом, сравнение неупорядоченных списков по отношению к памяти может быть выполнено с использованием Counter или сортировки списков. Оба метода позволяют эффективно и точно определить, содержат ли списки одни и те же элементы, независимо от их порядка.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Управление контекстом выполнения кода
  2. Поиск уникальных и повторяющихся элементов
  3. Получение атрибутов и методов класса
  4. Сложные типы данных в Python
  5. Генерация случайных данных в NumPy
  6. Измерение времени выполнения кода
  7. Динамическая типизация в Python
  8. Автоматизация действий с Pyautogui
  9. Распаковка с оператором *
  10. Установка и использование howdoi
  11. Реверс строки в Python
  12. Объединение Python и Shell
  13. Отладка производительности Python
  14. Глобальные переменные в Python
  15. Работа с timedelta в Python
  16. Исключение NotImplementedError
  17. Измерение времени выполнения кода
  18. Получение списка кортежей из словаря
  19. globals и locals
  20. Скрытие вывода данных
  21. Генераторы в Python
  22. Сортировка списка по индексам
  23. Работа с датой и временем в Python
  24. Получение текущего времени в Python
  25. Измерение времени выполнения кода
  26. Путь к интерпретатору Python
  27. Искажение имен в Python
  28. Тест скорости набора текста на Python
  29. Получение текущей даты в Python
  30. Метод eq для сравнения объектов
  31. Работа с CSV в Python
  32. Подчеркивание в REPL
  33. Работа с getopt
  34. Переопределение метода divmod
  35. Определение размера папок в Python
  36. Сортировка HTML по CSS-селектору
  37. Генерация фальшивых данных с Faker
  38. Работа с модулем Calendar
  39. Возврат нескольких значений
  40. Оператор break в Python
  41. Оформление текста в консоли с TermColor
  42. Использование двоеточия в Python
  43. Создание объекта времени

Marketello читают маркетологи из крутых компаний