ブール値のリストに基づいてリストをフィルタリングする

| |

ブール値のリストの値を指定してフィルタリングする必要のある値のリストがあります:

  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]  

結果は次のようになります:

  print Filtered_list [1,4]  

ラインは機能しますが、(私には)少しやり過ぎに見えます。同じことを達成するためのより簡単な方法があるかどうか疑問に思いました。


アドバイス

2つの要約以下の回答にある良いアドバイス:

1-組み込み関数であるため、リストに filterという名前を付けないでください。

2- if filter [idx] == True .. で行ったように、 True と比較しないでください。不要なので、iffilterを使用するだけです。 [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