Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 한 목록이 다른 목록의 하위 집합인지 확인

<시간/>

텍스트 분석 및 기타 다양한 데이터 분석 분야에서는 주어진 목록이 이미 더 큰 목록의 일부인지 확인해야 하는 경우가 많습니다. 이 기사에서 우리는 이 요구사항을 구현하는 파이썬 프로그램을 볼 것입니다.

모두와 함께

for 루프를 사용하여 더 작은 목록의 모든 요소가 더 큰 목록에 있는지 확인합니다. all 함수는 각 평가가 true를 반환하도록 합니다.

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

하위 집합 포함

이 접근 방식에서는 목록을 집합으로 변환하고 하위 집합 함수를 사용하여 작은 목록이 더 큰 목록의 일부인지 여부를 확인합니다.

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

교차로 사용

교차 함수는 두 집합 사이의 공통 요소를 찾습니다. 이 접근 방식에서 우리는 목록을 집합으로 변환하고 교집합 기능을 적용합니다. 교집합의 결과가 하위 목록과 같으면 하위 목록이 목록의 일부라는 결론을 내립니다.

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list