Курс 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. Python defaultdict добавление ключа
  3. Область видимости переменных
  4. Установка и использование pyshorteners
  5. Печать календаря
  6. Функция enumerate() в Python
  7. Counter() — подсчет элементов
  8. Создание словаря с значением по умолчанию
  9. Функция enumerate в Python
  10. Упрощение условных выражений с тернарным оператором
  11. Переменная Шредингера
  12. Модуль xkcd: добавление юмора в Python
  13. Работа с файлами в Python
  14. Измерение времени выполнения кода с использованием time
  15. Инициализация переменных
  16. Функция count() в Python
  17. Очистка данных с помощью pandas
  18. Отладка регулярных выражений в Python
  19. Метод radd для пользовательских чисел
  20. JMESPath в Python
  21. Объединение словарей в Python
  22. Оператор @ для умножения матриц
  23. Функции высшего порядка в Python
  24. Сравнение def и lambda в Python
  25. Работа с контекстными переменными
  26. Структуры данных в Python
  27. Структурирование данных с Pydantic
  28. Форматирование строк с помощью f-строк
  29. Обработка ошибок в JSON данных
  30. Импорт модуля из другого каталога
  31. Порядок и длина множеств в Python
  32. Управление виртуальными средами в Python
  33. Утечки переменных цикла в Python 3.x
  34. Любовь к Python
  35. Сравнение строк в Python
  36. Инверсия списков и строк в Python
  37. Переменная с нижним подчеркиванием
  38. Справка по импортированным модулям
  39. Команда %dhist — список посещенных каталогов
  40. Операторы увеличения и уменьшения в Python
  41. Нахождение отличий в списках
  42. Открытие, чтение и закрытие файла
  43. Оператор объединения словарей
  44. Печать в одной строке
  45. Отображение HTML кода в Python
  46. Методы Python для работы с данными
  47. Глобальные переменные в Python

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