Курс 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. Просмотр внешних файлов в %pycat
  3. Подсчет элементов в Python
  4. Defaultdict в Python
  5. Работа с контекст-менеджером «with»
  6. Курсы Яндекс Практикум
  7. Хранение переменных в словаре.
  8. Возврат нескольких значений из функции
  9. Работа с атрибутом dict
  10. Изменение регистра данных
  11. Выражения-генераторы в Python
  12. Сортировка элементов с OrderedDict
  13. Оператор space-invader
  14. Установка Python — Простое руководство
  15. Переопределение метода delitem в Python
  16. Объединение списков в Python.
  17. Возврат нескольких значений
  18. Форматирование вывода с F-строками
  19. Переворот последовательности
  20. Создание объекта времени
  21. Многопоточность в Python
  22. Аннотации типов в Python
  23. Обновление шаблона base.html
  24. Обработка StopIteration в Python
  25. Установка пакетов с помощью pip
  26. Переменная Шредингера
  27. Настройка Cron
  28. Создание лямбда-функций
  29. Функция divmod() в Python
  30. Переопределение метода xor в Python
  31. Numpy: объединение массивов
  32. Объединение словарей в Python
  33. Модуль pprint: улучшение вывода данных
  34. Импорт в Python: список all
  35. Поиск индекса элемента
  36. Запуск файлового сервера
  37. Удаление знаков препинания в Python
  38. Расчет времени выполнения кода
  39. Отладка производительности Python
  40. Обработка исключений в Python
  41. Проверка дублей в списке.
  42. Python Ellipsis использование
  43. Необязательные аргументы в Python
  44. Создание списков в Python
  45. Генераторы в Python
  46. lru_cache оптимизация функций

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