목록은 중첩될 수 있습니다. 즉, 목록의 요소 자체가 목록입니다. 이 기사에서는 주어진 요소가 더 큰 목록의 요소인 하위 목록에 있는지 확인하는 방법을 볼 것입니다.
모든
우리는 먼저 요소가 하위 목록에 있고 하위 목록이 목록에 있는지 검색합니다. 이 중 하나라도 사실이면 요소가 목록에 있다고 말할 수 있습니다.
예시
listA = [[-9, -1, 3], [11, -8],[-4,434,0]] search_element = -8 # Given list print("Given List :\n", listA) print("Element to Search: ",search_element) # Using in if any(search_element in sublist for sublist in listA): print("Present") else: print("Not Present")
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
('Given List :\n', [[-9, -1, 3], [11, -8], [-4, 434, 0]]) ('Element to Search: ', -8) Present
포함
이 접근 방식에서는 in 연산자를 사용하여 간단한 검색을 수행합니다. 항목이 외부 목록의 일부이기도 한 하위 목록의 일부인 경우 요소를 있는 것으로 받아들입니다. 우리는 존재를 확인하기 위해 하나와 부재를 확인하기 위해 두 가지를 확인합니다.
예시
listA = [[-9, -1, 3], [11, -8],[-4,434,0]] search_element = -8 # Given list print("Given List :\n", listA) print("Element to Search: ",search_element) # Using in if search_element in (item for sublist in listA for item in sublist): print("Present") else: print("Not Present") search_element = 13 print("New Element to Search: ",search_element) # Using in if search_element in (item for sublist in listA for item in sublist): print("Present") else: print("Not Present")
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given List : [[-9, -1, 3], [11, -8], [-4, 434, 0]] Element to Search: -8 Present New Element to Search: 13 Not Present
체인 포함
itertools 모듈의 chain 메소드를 사용하여 하위 목록 목록을 확장하고 in 멘토드를 사용하여 요소의 존재 여부를 계속 확인할 수 있습니다.
예시
from itertools import chain listA = [[-9, -1, 3], [11, -8],[-4,434,0]] search_element = -8 # Given list print("Given List :\n", listA) print("Element to Search: ",search_element) # Using in if search_element in chain(*listA): print("Present") else: print("Not Present") search_element = 13 print("New Element to Search: ",search_element) # Using in if search_element in chain(*listA): print("Present") else: print("Not Present")
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given List : [[-9, -1, 3], [11, -8], [-4, 434, 0]] Element to Search: -8 Present New Element to Search: 13 Not Present