Курс 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. Пропуск начальных строк с помощью dropwhile()
  2. Поиск наиболее частого элемента в списке
  3. Управление мышью и клавиатурой с Pyautogui
  4. Создание словаря в Python
  5. Обработка ошибок в JSON данных
  6. Переопределение метода __pow__
  7. Работа с Event() в threading
  8. PATCH-запрос с библиотекой requests
  9. Заказ карты Тинькофф Black
  10. Наиболее частотные элементы с помощью Counter
  11. Python enumerate() функции
  12. Генераторы данных
  13. Метод gt в Python
  14. Порядок операций в Python
  15. Скачать видео с YouTube
  16. Создание панели меню Tkinter
  17. Реверс строки и списка в Python.
  18. Проверка памяти объекта
  19. Метод join() для объединения элементов строки
  20. Генераторы по генератору
  21. Логирование в Python
  22. Извлечение аудио из видео
  23. Проверка файла .py на синтаксис.
  24. Сериализация объектов в Python
  25. Декораторы с @wraps
  26. История Python
  27. *args и **kwargs в Python
  28. Хешируемые ключи в Python
  29. Возвращение нескольких значений через кортеж или класс
  30. Python defaultdict добавление ключа
  31. Проверка однородности элементов списка
  32. Работа с модулем bisect
  33. Декораторы в Python
  34. Метод split() в Python
  35. Функция enumerate() в Python
  36. Работа с массивами в Python
  37. Создание новых списков в Python
  38. Названия столбцов в Python таблицах
  39. Вывод букв строки в Python
  40. Подсчет вхождений элементов
  41. Пустой оператор pass в Python
  42. Оператор continue в Python

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