Курс 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. Работа с контекстным менеджером Pool
  3. Преобразование кортежа в словарь.
  4. Обработка исключений с блоком else
  5. Бесконечные списки в Python
  6. Создание таблиц в Python с PrettyTable
  7. Копирование в Python
  8. Операторы объединения в Python 3.9
  9. Defaultdict в Python
  10. Подсчет элементов в Python
  11. Документация функции help() в Python
  12. Отступы в Python
  13. Округление в Python
  14. Создание новых функций с помощью functools.partial
  15. Работа с комплексными числами в Python
  16. Очистка данных с помощью pandas
  17. Работа с контекстными менеджерами
  18. Анонимные функции Lambda
  19. Передача аргументов в Python
  20. Создание и удаление объектов
  21. Объединение списков в строку
  22. Работа со слайсами
  23. Сохранение Unicode в JSON
  24. Обмен значений переменных в Python
  25. Функция map() в Python
  26. Расширение информации об ошибке в Python
  27. discard() — удаление элемента из множества
  28. Работа с процессами в Python
  29. Тип данных TypeVarTuple
  30. Сортировка элементов в Python
  31. Профилирование с cProfile
  32. Измерение времени выполнения кода
  33. Тестирование с responses
  34. Подписка на SelectelNews в Twitter
  35. Работа с argparse
  36. Основы работы с базами данных в Python
  37. Установка и загрузка Instaloader
  38. Приближение чисел в Python
  39. Работа с изменяемыми коллекциями
  40. Объединение словарей в Python
  41. Функция enumerate в Python
  42. Установка и использование Telegram API в Python
  43. Уникальные значения из списка
  44. Множественное наследование в Python
  45. Распаковка аргументов в Python
  46. Python enumerate() функции
  47. Просмотр атрибутов и методов класса
  48. Создание списка дат

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