Курс 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. Управление памятью в Python
  2. Lambda-функция в Python: использование с map() и sum()
  3. Хеширование паролей с солью
  4. Сериализация и десериализация объектов
  5. Сортировка с помощью параметра key
  6. Метод add для класса Vector
  7. Нахождение разницы между списками в Python
  8. Дизассемблирование Python кода
  9. Операторы увеличения и уменьшения переменной
  10. Определение наиболее частого элемента с помощью collections.Counter
  11. Работа с каталогами в Python
  12. Работа с срезами в Python
  13. Генераторы списков
  14. Абстракции словарей и множеств в Python
  15. Реверс строки в Python
  16. Операторы += в Python
  17. Модуль inspect: получение информации о объектах
  18. Оператор «is not» в Python
  19. Инверсия списка/строки в Python
  20. Подписка на SelectelNews в Twitter
  21. Функция eval() в Python
  22. Подчеркивание в REPL
  23. Сравнение def и lambda функций в Python
  24. Работа с модулем glob в Python
  25. Итерации в Python
  26. Декоратор для группы пользователей в Django
  27. Python Аргументы по умолчанию
  28. Обработка исключения UnboundLocalError
  29. Управление экспортом элементов
  30. Инициализация объекта
  31. Расширение операции побитового «и» в Python
  32. Python Метод sleep() из time
  33. Обновление и получение данных в SQLite
  34. Генераторы списков в Python
  35. Получение пути к текущему скрипту с помощью os
  36. Функции map, filter и reduce
  37. Работа с модулем cmath
  38. Замыкания в Python
  39. Группы исключений в Python
  40. Подсчет элементов в Python
  41. Конвертация коллекций в Python.
  42. Оформление кода по PEP 8
  43. Python: изменяемые и неизменяемые коллекции
  44. Генераторы в Python
  45. Декораторы в Python
  46. Метод join() для объединения элементов строки

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