Курс 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. Удаление falsy-значений из списка с помощью filter
  2. F-строки в Python 3.8
  3. Печать календаря в Python
  4. Синтаксис переменных цикла в Python
  5. Многопроцессорное программирование в Python
  6. Работа с Colorama
  7. Декоратор Property в Python
  8. Декораторы в Python
  9. Объединение списков в строку
  10. Основные функции и модули Python
  11. Работа с географическими данными.
  12. Работа с комплексными числами
  13. Работа с collections в Python.
  14. Измерение времени выполнения с помощью time
  15. Метод __imod__ для Python
  16. Бесконечная проверка в Python
  17. Flask: создание веб-приложений
  18. Генераторные функции в Python
  19. Извлечение аудио из видео
  20. Библиотека Rich: форматирование текста
  21. Очистка списка от False, None, 0, «»
  22. Форматирование объектов с модулем pprint
  23. Создание Telegram-бота на Python
  24. Форматирование кода на Python
  25. Генераторы в Python
  26. Преобразование числа в восьмеричную строку
  27. Глубокое копирование объектов
  28. Метод rmatmul для обратного матричного умножения
  29. Фильтрация элементов с помощью islice
  30. Создание GUI на Tkinter
  31. Вычисление логарифмов в Python
  32. Метод rsub для пользовательских чисел
  33. Метод rsub в Python: расширение функциональности вычитания
  34. Создание словарей в Python
  35. Библиотека Chartify: руководство
  36. Введение в Python
  37. Генераторы в Python
  38. Декоратор total_ordering для класса Point
  39. Lambda-функция в Python: использование с map() и sum()
  40. Обработка исключений в Python 3
  41. Логирование в Python
  42. Генераторы словарей и множеств
  43. Оформление текста в консоли с TermColor
  44. Метод count() для списков
  45. Конвертация коллекций в Python.
  46. Обработка исключения UnboundLocalError
  47. Проверка на палиндром
  48. Замыкания в Python

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