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

Python의 이진 목록에서 True 값 인덱스 가져오기

<시간/>

Python 목록에 true 또는 false 및 0 또는 1과 같은 값이 포함되어 있으면 이진 목록이라고 합니다. 이 기사에서는 이진 목록을 가져와서 목록 요소가 참인 위치의 인덱스를 찾습니다.

열거 포함

열거 함수는 목록에서 모든 요소를 ​​추출합니다. 추출된 값이 참인지 아닌지 확인하기 위해 in 조건을 적용합니다.

예시

listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using enumerate()
res = [i for i, val in enumerate(listA) if val]
# printing result
print("The indices having True values:\n ",res)

출력

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

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]

압축

compress를 사용하여 목록의 각 요소를 반복합니다. 값이 true인 요소만 가져옵니다.

예시

from itertools import compress
listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using compress()
res = list(compress(range(len(listA)), listA))
# printing result
print("The indices having True values:\n ",res)

출력

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

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]