Как сравнить два списка в Python

В этом руководстве по Python мы увидим как сравнить два списка в Python. Мы увидим различные методы с наглядными примерами по этому поводу, сравнивая два списка в Python.
Что такое список Python
Списки Python используются для хранения нескольких элементов в одной переменной. Списки создаются с помощью квадратных скобок[]например:
Countries = ['America', 'Australia', 'Canada', 'Russia', 'India', 'China']
Cricket_team = ['Australia', 'England', 'India', 'West Indies', 'South Africa']
См. выше, у нас есть два разных типа списков (Countries, Cricket_team), и в них есть некоторые общие элементы. Python предоставляет несколько методов для сравнения двух списков. Мы можем сравнить эти два списка, используя разные методы.
Сравнение двух списков в Python
Различные способы сравнения двух списков в Python:
- Простое сравнение: == Оператор
- Использование разницы в списке: – Оператор или разница() метод
- С использованием набор() для неупорядоченного сравнения
- С использованием отсортировано() для отсортированного сравнения
Мы рассмотрим их один за другим на разных примерах.
Метод 1: сравнение двух списков в Python с использованием простого сравнения: оператор ==
питона == оператор может использоваться для прямого сравнения двух списков Python. Он вернется Истинный если оба списка содержат одни и те же элементы в одном и том же порядке, в противном случае возвращается ЛОЖЬ.
Давайте рассмотрим пример. Предположим, у нас есть два списка Python, которые содержат названия штатов в регионе Среднего Запада:
midwest1 = ["Illinois", "Indiana", "Iowa", "Kansas", "Michigan", "Minnesota", "Missouri", "Nebraska"]
midwest2 = ["Illinois", "Indiana", "Iowa", "Kansas", "Michigan", "Minnesota", "Missouri", "Nebraska"]
print(midwest1 == midwest2)
Выход: здесь, поскольку порядок и содержимое обоих списков одинаковы, он возвращает Истинный.
True

Таким образом, мы можем использовать простое сравнение: == оператор для сравнения двух списков в Python.
Метод 2: Сравнение двух списков в Python с использованием метода List Difference: — Оператор или метод разницы ()
Мы также можем найти разницу между двумя списками в Python, преобразовав их в наборы и используя – оператор или разница() метод в Python. Они возвращают набор, содержащий разницу между двумя наборами, т. е. элементы, присутствующие в первом наборе, но отсутствующие во втором. Если оба списка Python идентичны, разница будет пустым набором.
Например: Здесь у нас будет два разных списка на Python, содержащих названия некоторых штатов США. Во-первых, мы преобразуем оба списка в набор Python, используя набор(), затем мы воспользуемся оператором – или методом разности(), а затем сравним результат с пустым набором Python.
Если результат печатается Истинный то у нас есть идентичные списки Python, и если результат печатается ЛОЖЬ тогда списки Python не идентичны.
# using - operator
list1 = ["California", "Texas", "New York", "Florida", "Illinois"]
list2 = ["California", "Texas", "New York", "Florida", "Illinois"]
print(set(list1) - set(list2) == set())
Вывод этого блока кода:
True

# using difference() method
list1 = ["California", "Texas", "New York", "Florida", "Illinois"]
list2 = ["California", "Texas", "New York", "Florida", "Illinois"]
print(set(list1).difference(set(list2)) == set())
Вывод для этого блока кода:
True

Они оба дают тот же результат, что и Истинныйа значит, у нас с собой два одинаковых списка Python.
Примечание: Python может иметь повторяющиеся значения, а наборы Python — нет. Когда мы преобразуем список с повторяющимися значениями в набор Python, повторяющееся значение удаляется. В этом случае оба метода могут показать неверный ответ.
Способ 3: сравнение двух списков в Python с использованием set() для неупорядоченного сравнения
набор() Функция используется, когда мы хотим проверить, имеют ли два списка Python одинаковые элементы, независимо от их порядка. Эта функция преобразует список Python в набор, который представляет собой неупорядоченный набор уникальных элементов.
Например, допустим, у нас есть два списка Python, содержащие названия штатов западного побережья. Первый список — это посещенные штаты, а второй — все штаты западного побережья:
visited_states = ["California", "Nevada"]
west_coast_states = ["California", "Oregon", "Washington", "Nevada"]
print(set(visited_states) == set(west_coast_states))
Результат:
False
Поскольку оба списка Python не имеют одинаковых элементов, поэтому получите результат как ЛОЖЬ.

Это мы можем использовать набор() для неупорядоченного сравнения двух списков Python.
Примечание: Python может иметь повторяющиеся значения, а набор Python — нет. Когда мы преобразуем список с повторяющимися значениями в набор Python, повторяющиеся значения удаляются. В этом случае оба метода могут показать неверный ответ.
Метод 4: сравнение двух списков в Python с использованием sorted() для сравнения с сортировкой
Другой способ сравнить два списка Python, не обращая внимания на порядок элементов, — сначала отсортировать списки, используя метод сортировки ().
Например, допустим, у нас есть два списка Python, содержащие 5 лучших компаний США, но в другом порядке:
original_order = ["Apple", "Microsoft", "Amazon", "Google", "Facebook"]
different_order = ["Amazon", "Facebook", "Apple", "Microsoft", "Google"]
print(sorted(original_order) == sorted(different_order))
Несмотря на то, original_order и другой_порядок списки не идентичны (компании в другом порядке), когда мы сортируем списки Python перед их сравнением, порядок компаний уже не имеет значения.
Выход: сравнение отсортировано (исходный_порядок) == отсортировано (другой_порядок) возвращает Истинный потому что оба отсортированных списка Python содержат одни и те же компании.
True

Таким образом, мы можем использовать отсортировано() для отсортированного сравнения двух списков Python.
Заключение:
В заключение мы увидели, что сравнение двух списков Python может быть выполнено различными способами в зависимости от того, чего мы хотим достичь: мы можем захотеть узнать, равны ли два списка, или, возможно, мы хотим найти различия между списками или что-то еще.
Мы можем легко сделать это, используя все вышеупомянутые методы, такие как использование == оператор, – оператор или разница() метод, набор() метод или отсортировано() метод.
Вы также можете прочитать:

Я Биджай Кумар, Microsoft MVP в SharePoint. Помимо SharePoint, последние 5 лет я начал работать над Python, машинным обучением и искусственным интеллектом. За это время я приобрел опыт работы с различными библиотеками Python, такими как Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn и т. д. для различных клиентов в США, Канаде, Великобритании, Австралии, Новой Зеландии и т. д. Проверьте мой профиль.
Ссылка на источник