Курс 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. Установка и использование Logzero
  2. Работа с аргументами командной строки в Python
  3. Метод join() для объединения элементов
  4. Работа с контекстным менеджером Pool
  5. Руководство по Pymorphy2
  6. Создание пар из последовательностей
  7. Генератор бросков кубиков
  8. Работа с контекстными менеджерами
  9. Установка максимального количества цифр
  10. Тайное преобразование типа ключа
  11. Инициализация структур данных
  12. Именование переменных в Python
  13. Поиск самого частого элемента
  14. Переворот строки с помощью срезов
  15. Декораторы в Python
  16. Удаление эмодзи с помощью pandas
  17. Работа с байтовыми строками в Python
  18. Блок try…finally в Python
  19. Удаление дубликатов из списка с помощью dict.fromkeys
  20. Установка и использование библиотеки google
  21. Работа со строками в Python
  22. Операции с массивами в NumPy
  23. Получение пути к текущему скрипту с помощью os
  24. Преобразование текста в речь с Python
  25. Модуль xkcd: загрузка комиксов
  26. Работа с часовыми поясами в Python.
  27. Метод join для объединения строк
  28. Работа с аргументами командной строки
  29. Замыкания в Python
  30. Аннотации типов в Python
  31. Метод add для класса Vector
  32. Функция zip() в Python
  33. Метод __ilshift__ для битового сдвига влево
  34. Создание и использование модулей в Python
  35. Функция с **kwargs в Python
  36. Работа со слайсами
  37. Установка Home Assistant
  38. Хэш-функции в Python
  39. capitalize() — изменение регистра первого символа строки
  40. Dict Comprehension в Python
  41. Выражения-генераторы в Python
  42. Метод __complex__ в Python
  43. Объединение списков в строку
  44. Создание пустых функций и классов в Python
  45. Создание словаря и множества

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