Введение
В программировании часто необходимо проверить, содержат ли два списка одинаковые элементы, независимо от их порядка. Это может быть полезно в различных ситуациях, таких как проверка, имеют ли два набора данных одинаковые значения, или проверка, возвращает ли функция ожидаемый результат. В этом испытании вы напишете функцию, которая проверяет, содержат ли два списка одинаковые элементы.
Проверить, содержат ли два списка одинаковые элементы
Напишите функцию have_same_contents(a, b), которая принимает два списка в качестве аргументов и возвращает True, если они содержат одинаковые элементы, и False в противном случае. Функция должна проверить, содержат ли два списка одинаковые элементы, независимо от их порядка.
Для решения этой проблемы вы можете следовать следующим шагам:
- Используйте
set()для комбинации обоих списков, чтобы найти уникальные значения. - Перебирайте их с помощью цикла
for, сравниваяcount()каждого уникального значения в каждом списке. - Возвращайте
False, если количество элементов не совпадает для любого элемента, иTrueв противном случае.
def have_same_contents(a, b):
for v in set(a + b):
if a.count(v)!= b.count(v):
return False
return True
have_same_contents([1, 2, 4], [2, 4, 1]) ## True
Резюме
В этом испытании вы узнали, как проверить, содержат ли два списка одинаковые элементы, независимо от их порядка. Используя функцию set() и перебирая уникальные значения, вы можете сравнить count() каждого элемента в обоих списках, чтобы определить, содержат ли они одинаковые элементы.