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

Python의 목록 목록에 요소가 있는지 확인

<시간/>

목록은 중첩될 수 있습니다. 즉, 목록의 요소 자체가 목록입니다. 이 기사에서는 주어진 요소가 더 큰 목록의 요소인 하위 목록에 있는지 확인하는 방법을 볼 것입니다.

모든

우리는 먼저 요소가 하위 목록에 있고 하위 목록이 목록에 있는지 검색합니다. 이 중 하나라도 사실이면 요소가 목록에 있다고 말할 수 있습니다.

예시

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