Курс 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. Проверка файла .py на синтаксис.
  2. Работа с географическими данными.
  3. Создание именованных кортежей в Python
  4. Функции map() и reduce() в Python
  5. Метод remove() для удаления элемента из списка
  6. Разделение строки в Python
  7. Flask: создание веб-приложений
  8. Python Calendar Usage
  9. Оптимизация сравнения в Python
  10. Метод join() для объединения элементов
  11. Подсчет элементов в Python
  12. Подписка на каналы разработчиков
  13. GitHub в Telegram: подписка на уведомления
  14. Оператор умножения для вектора
  15. Многоточие в Python
  16. Применение функции к списку
  17. Форматирование строк в Python
  18. Подсчет элементов в Python
  19. Модуль pprint: улучшение вывода данных
  20. Генерация UUID в Python
  21. Метод count() для списков
  22. Печать месячного календаря
  23. Замена элементов в списке с помощью генераторов списков
  24. Библиотека Rich: форматирование текста
  25. Различия символов в Python
  26. Метод rmatmul для пользовательских матриц
  27. Путь к интерпретатору Python
  28. Работа со строками
  29. Поиск шаблона в строке
  30. Функция count() в Python
  31. Метод __ixor__ для побитового исключающего ИЛИ
  32. Декораторы в Python
  33. Метод classmethod
  34. Присвоение значений переменным в Python
  35. Поток данных в Python
  36. Numpy: разбиение массивов
  37. Использование модуля __future__
  38. Удаление элементов во время итерации
  39. Введение в Python
  40. Транспонирование 2D-массива с помощью zip
  41. Разделение строки с помощью re.split()
  42. Преобразование данных в Python
  43. Декораторы в Python
  44. Оператор += в Python
  45. Закрытие файла в Python
  46. Работа с аргументами командной строки
  47. Подписка на Kaspersky Team

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