본문 바로가기
파이썬

파이썬 Python : 색인 세트를 기반으로 목록에서 하위 집합 선택

by º기록 2020. 11. 20.
반응형

모두 동일한 수의 항목이있는 여러 목록이 있습니다 (각각 개체 속성 지정).

property_a = [545., 656., 5.4, 33.]
property_b = [ 1.2,  1.3, 2.3, 0.3]
...

동일한 길이의 플래그가있는 목록

good_objects = [True, False, False, True]

(동등한 색인 목록으로 쉽게 대체 할 수 있습니다.

good_indices = [0, 3]

True 항목 또는 지수?

property_asel = [545., 33.]
property_bsel = [ 1.2, 0.3]

 

해결 방법

 


property_asel = [val for is_good, val in zip(good_objects, property_a) if is_good]

또는

property_asel = [property_a[i] for i in good_indices]

후자는 property_a 의 길이보다 good_indices 가 더 적기 때문에 더 빠릅니다. good_indices 가 즉석에서 생성되는 대신 미리 계산된다고 가정합니다.


property_asel = list(itertools.compress(property_a, good_objects))

 

참조 페이지 https://stackoverflow.com/questions/3179106

 

 

반응형

댓글