Проверьте, является ли один список подмножеством другого в Python

| | | | | | | | | | | | | | | | | | | | | | |

Список является подмножеством другого списка, если все элементы первого также являются элементами второго. Например, [1, 2] является подмножеством [1, 2, 3], а [1,4] — нет.

ИСПОЛЬЗУЙТЕ set.issubset() ДЛЯ ПРОВЕРКИ, ЯВЛЯЕТСЯ ЛИ СПИСОК ПОДМНОЖЕСТВОМ ДРУГОГО СПИСКА Используйте set(list) для преобразования списков в наборы. Вызовите set1.issubset(set2), чтобы вернуть логическое значение, указывающее, является ли set1 подмножеством set2.

print(list1) OUTPUT [1, 2] print(list2) OUTPUT [ 1, 2, 3] set1 = set(list1) Преобразование списков в наборы set2 = set(list2) is_subset = set1.issubset(set2) Проверить, найден ли set1 в set2 print(is_subset) OUTPUT True 

Python проверяет, является ли список подмножеством другого

Иногда мы сталкиваемся с проблемой проверки того, является ли один список просто расширением списка, то есть просто надмножеством одного списка. Такого рода задачи довольно популярны в соревновательном программировании. Сокращение для этого помогает делу. Давайте обсудим различные способы решения этой конкретной задачи.

Проверить, является ли один список подмножеством другого. Использование all()

all() используется для проверить все элементы контейнера всего одной строкой. Проверяет наличие всех элементов одного списка в другом списке.

# Код Python3 для демонстрации # проверка того, является ли список подмножеством другого # с помощью all() # инициализация списка test_list = [9, 4, 5, 8, 10] sub_list = [10, 5, 4] # печать исходных списков print ("Исходный список: " + str(test_list)) print ("Исходный дополнительный список: " + str(sub_list)) # использование all( ) to # проверить подмножество списка flag = 0 if(all(x в test_list для x в sub_list)): flag = 1 # результат печати if (flag): print ("Да, список является подмножеством другого.") else: print ("Нет, список не является подмножеством другого") 

Вывод:

Исходный список: [9, 4, 5, 8, 10] Исходный подсписок: [ 10, 5, 4] Да, список является подмножеством других.

Проверить, является ли один список подмножеством другого. Использование set.issubset()

Наиболее часто используемый и рекомендуемый способ поиска подсписка. Эта функция создана специально для выполнения конкретной задачи проверки того, является ли один список подмножеством другого.

# Код Python3 для демонстрации # проверки того, является ли список подмножеством другого # с помощью issubset() # инициализация list test_list = [9, 4, 5, 8, 10] sub_list = [10, 5] # печать исходных списков print ("Исходный список: " + str(test_list)) print ("Исходный подсписок: " + str(sub_list) )) # использование issubset() для # проверки подмножества списка flag = 0 if(set(sub_list).issubset(set(test_list))): flag = 1 # результат печати if (flag): print ("Да, список подмножество другого.") else: print ("Нет, список не является подмножеством другого.") 

Вывод:

Исходный список: [9, 4, 5, 8, 10] Исходный подсписок: [10, 5] Да, список является подмножеством другого. 

Проверить, является ли один список подмножеством другого, используя итерацию и счетчик

Используя количество элементов в обоих списках, чтобы убедиться, что второй список является подмножеством первого списка.

# Демонстрационный код Python3 # для проверки того, является ли список подмножеством других #Импорт из коллекций import Counter def checkInFirst(a, b): #getting count count_a = Counter(a) count_b = Counter(b) # проверка существования элемента во втором списке для ключа в count_b: если ключа нет в count_a: вернуть False, если count_b[key] > count_b[key]: вернуть False return True # инициализация списка a = [1, 2,4,5] b = [1, 2,3] # Вызов функции res = checkInFirst(a, b) # Печать списка print ("Исходный список: " + str(a)) print ("Исходный подсписок: " + str(b)) if res==True: print ("Да, список является подмножеством другого") else: print ("Нет, список не является подмножеством другого") #Добавлено Paras Jain(everythingispossible) 

Вывод :

Исходный список: [1, 2, 4, 5] Исходный дополнительный список: [1, 2, 3] Нет, список не является подмножеством другого. 

Проверить, является ли один список подмножеством другого. Используя set.intersection()

Еще один метод, который работает с множествами, заключается в том, чтобы проверить, является ли пересечение обоих списков подсписком, который мы проверка. Это подтверждает, что один список является подмножеством другого.

# Код на Python3 для демонстрации # проверки того, является ли список подмножеством другого # с помощью пересечения() # инициализация списка test_list = [9, 4, 5, 8, 10] sub_list = [10, 5] # печать исходных списков print ("Исходный список: " + str(test_list)) print ("Исходный подсписок: " + str(sub_list)) # использование пересечения() для # проверки подмножество списка flag = 0 if((set(sub_list) & set(test_list))== set(sub_list)): flag = 1 # результат печати if (flag): print ("Да, список является подмножеством другого." ) else: print ("Нет, список не является подмножеством другого") 

Вывод:

Исходный список: [9, 4, 5, 8, 10] Исходный подсписок : [10, 5] Да, список является подмножеством другого.

Как проверить, является ли один список подмножеством другого Python?