今回は、pythonで、配列から特定の値を抽出し、更新する方法を書いていきます。
まず、今回用いる配列を用意します。
l = list(range(-6, 6))
print(l)
出力結果
=>[-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
続いて、本題の、上記配列から特定の値を抽出し更新するコードです。概要は以下の通りです。
[(真の値 if 条件式 else 偽の値) for 任意の変数名 in 元のリスト]
l_replace = ['正の数' if i > 0 else i for i in l] print(l_replace)
print(l_replace)
出力結果
=>[-6, -5, -4, -3, -2, -1, 0, '正の数', '正の数', '正の数', '正の数', '正の数']
上のコードを解説していきます。
まず、最初に、更新後の値を指定します。ここでは、'正の数'という文字列を指定しています。
続いて、条件式です。ここでは、if i > 0 として、正の数を抽出しています。
続いて、範囲外の要素をどう扱うか指定します。ここでは、else i として、範囲外の要素は元の要素のままとしています。これを仮に、else '負の数'とした場合、出力結果は、
=>['負の数', '負の数', '負の数', '負の数', '負の数', '負の数', '負の数', '正の数', '正の数', '正の数', '正の数', '正の数']
となります。
続いて、おなじみのfor文で、任意の変数と試行回数を指定します。
以上まとめると、pythonでリストから特定の要素を抽出し更新するコードは以下のようになります。
[(真の値 if 条件式 else 偽の値) for 任意の変数名 in 元のリスト]