부울 목록을 기반으로 목록 필터링

| |

부울 목록의 값이 주어지면 필터링해야 하는 값 목록이 있습니다.

list_a = [1, 2, 4, 6] filter = [True, False , True, False] 

다음 행을 사용하여 필터링된 새 목록을 생성합니다.

filtered_list = [i for indx,i in enumerate(list_a) if filter[indx] == True] 

결과:

filtered_list [1,4] 

라인은 작동하지만 (내게는) 약간 과도해 보입니다. 동일한 작업을 수행하는 더 간단한 방법이 있는지 궁금합니다.


조언

두 가지 요약 아래 답변에 좋은 조언이 있습니다.

1- 내장 기능이기 때문에 filter 목록에 이름을 지정하지 마세요.

2- if filter[idx]==True.. 에서 했던 것처럼 True 와 비교하지 마세요. 불필요하기 때문입니다. if filter를 사용하기만 하면 됩니다. [idx]로 충분합니다.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method