목록이 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 

파이썬은 목록이 다른 목록의 부분집합인지 확인합니다.

때때로 한 목록이 목록의 확장인지, 즉 한 목록의 상위 집합인지 확인하는 문제가 발생합니다. 이러한 종류의 문제는 경쟁 프로그래밍에서 꽤 인기가 있습니다. 약칭을 사용하면 원인에 도움이 됩니다. 이 특정 작업을 수행하는 다양한 방법에 대해 논의해 보겠습니다.

한 목록이 다른 목록의 하위 집합인지 확인 all() 사용

all()은 다음 작업에 사용됩니다. 한 줄에 컨테이너의 모든 요소를 확인하십시오. 한 목록의 모든 요소가 다른 목록에 존재하는지 확인합니다.

# 목록이 # all()을 사용하여 목록이 다른 항목의 하위 집합인지 확인하기 위한 # Python3 코드 # 초기화 목록 test_list = [9, 4, 5, 8, 10] sub_list = [10, 5, 4] # 원본 목록 인쇄 print ("원본 목록: " + str(test_list)) print ("원본 하위 목록: " + str(sub_list)) # using all( ) to # 목록의 하위 집합을 확인합니다. flag = 0 if(all(x in test_list for x in 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에 없는 경우: return False if count_b[key] > count_b[key]: return 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 ("아니요, 목록은 다른 것의 부분집합이 아닙니다.") #Added by 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)) # 교차()를 사용하여 # 확인 목록의 부분 집합 플래그 = 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의 하위 집합인지 확인하는 방법은 무엇입니까?