Курс 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. Обучение модели с указанием эпох
  2. Генераторы в Python
  3. Работа с enumerate()
  4. Python Менеджер контекста
  5. Обработка ошибок в Python
  6. Обработка ошибок в Python
  7. Возврат нескольких значений
  8. Сравнение объектов в Python
  9. Подписка на Kaspersky Team
  10. Поиск кода
  11. Работа с Colorama
  12. Нарезка списков в Python
  13. Скрытие вывода данных
  14. lru_cache оптимизация функций
  15. Удаление дубликатов с помощью множеств
  16. Нахождение отличий в списках
  17. Функции range() в Python
  18. Нахождение самого длинного слова в списке с помощью max
  19. Функции высшего порядка в Python
  20. Работа с кортежами
  21. Конкатенация строк с методом join()
  22. Получение ID процесса
  23. Работа с модулем bisect
  24. JMESPath в Python
  25. Искажение имен в Python
  26. Разбиение строки в Python
  27. Преобразование объекта в строку
  28. Работа с Event() в threading
  29. Счетчик в Python: most_common()
  30. Генераторы в Python
  31. Работа с Enum в Python3.
  32. Взаимодействие с sys
  33. PrettyTable: создание таблицы
  34. Лимиты на ресурсы Python
  35. Сериализация и десериализация объектов
  36. Выражения-генераторы в Python
  37. Установка Git и AWS CLI
  38. Получение текущей директории
  39. Создание уникального проекта
  40. Работа с географическими данными в Python
  41. Конкатенация строк с помощью join()
  42. Работа с областями видимости переменных
  43. Перебор элементов списка в Python
  44. Разделение строки в Python
  45. Добавление элементов в список: append() vs extend()
  46. Обработка исключения UnboundLocalError
  47. Измерение времени выполнения в Python
  48. Progress с библиотекой tqdm

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