Для того, чтобы убедиться, что список A полностью входит в список B, т.е. все элементы списка A присутствуют в списке B, можно воспользоваться методами «superset» и «subset» стандартного Python класса set.
Конвертация списков в сеты так же позволяет не заботиться о проверке дубликатов, если они имеются в сравниваемых списках.
subset
Метод subset действует от меньшего сета и проверяет, входит ли он в больший сет.
1 2 3 4 5 6 7 8 9 |
A = ['a', 'x', 'z'] A1 = ['a', 'x', 'z', 99] B = list('abcdefghijklmnopqrstuvwxyz') # ['a', 'b', ..., 'z'] print(set(A).issubset(set(B))) # True print(set(A1).issubset(set(B))) # False |
superset
Метод superset наоборот, проверяет больший сет — не входит ли в него меньший сет.
1 2 3 4 5 6 7 8 9 |
A = ['a', 'x', 'z'] A1 = ['a', 'x', 'z', 99] B = list('abcdefghijklmnopqrstuvwxyz') # ['a', 'b', ..., 'z'] print(set(B).issuperset(set(A))) # True print(set(B).issuperset(set(A1))) # False |
Также для проверки можно использовать оператор «<=»
<=
1 2 3 4 5 6 7 8 9 |
A = ['a', 'x', 'z'] A1 = ['a', 'x', 'z', 99] B = list('abcdefghijklmnopqrstuvwxyz') # ['a', 'b', ..., 'z'] print(set(A) <= set(B)) # True print(set(A1) <= set(B)) # False |