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