Списки в Python — это альтернатива массивам. Они позволяют хранить коллекции элементов разных типов. Рассмотрим различные методы сравнения двух списков в Python.
С помощью метода sort()
Метод sort() в Python сортирует список и оставляет исходный список неизменным.
После сортировки все элементы в списке занимают одинаковые позиции в соответствии с их значениями. Затем, используя оператор ==, вы можете сравнить два списка для выявления различий между ними.
Например, посмотрите на код ниже, как сравниваются два списка.
#creating two list required_items and packed_items required_items = ['apple', 'banana', 'cherry'] packed_items = ['banana', 'apple', 'cherry'] #sorting each list using the sort() method required_items.sort() packed_items.sort() #comparing list to see if they are equal or not if required_items == packed_items: print("Lists are equal") else: print("Lists are not equal")
Из вывода вы можете видеть, что два списка required_items и packed_items равны, что выводится на терминал как выходные данные.
C помощью метода sorted()
Метод sorted() аналогичен методу sort(), но метод sorted() создает копию исходного списка и сортирует эту копию.
Пример:
#creating two list required_items and packed_items required_items = ['apple', 'banana', 'cherry'] packed_items = ['banana', 'apple', 'cherry'] #sorting each list using the sorted() method list1=sorted(required_items) list2=sorted(packed_items) #comparing list to see if they are equal or not if list1 == list2: print("Lists are equal") else: print("Lists are not equal")
Из вывода видно, что оба списка list1 и list2 равны. Здесь метод sorted() создает копию исходного списка, сортирует ее, а затем сохраняет в новых переменных с именами list1 и list2.
С использованием метода set()
Метод Python set() принимает значение и преобразует его в новый набор.
Итак, здесь вы можете использовать метод set() для преобразования списка в набор, а затем сравнить список с помощью оператора ==.
Давайте воспользуемся тем же примером списков необходимых и упакованных.
#creating two list required_items and packed_items required_items = ['apple', 'banana', 'cherry'] packed_items = ['banana', 'apple', 'cherry'] #creating set from the list using the set() method list1=set(required_items) list2=set(packed_items) #comparing list to see if they are equal or not if list1 == list2: print("Lists are equal") else: print("Lists are not equal")
Здесь списки «required_tiems» и «packed_items» преобразуются в наборы с помощью метода set() без учета порядка элементов в списке. В результате список содержит одинаковое количество элементов, а значит, он равен.