0
0

More than 3 years have passed since last update.

Python 内包表記

Posted at

経緯

ATcoderのサンプル問題を解いていた時にどうしても処理制限時間が超えられず、
内包表記を使うと解決できたので、忘れないようにまとめておく

構文

[リストに組み込みたい文字列 for 変数 in 範囲やリスト]

範囲の後に条件式を記載することで条件式に当てはまったものだけリスト化することもできる

例)

//期待する結果=>[0,2,4,6,8,10]
l = [i for i in range(11) if i%2 == 0]
print(l)
//[0,2,4,6,8,10]

条件式はfor文の中に入れることもできれば、for文の中で取り出した値を条件式に掛けることもできる

//期待する結果=>['リンゴ','ブドウ','リンゴ','ブドウ','リンゴ','ブドウ']
l = ['リンゴ' if i%2 == 1 else 'ブドウ' for i in range(11)]
print(l)
//['リンゴ', 'ブドウ', 'リンゴ', 'ブドウ', 'リンゴ', 'ブドウ']

利用するシチュエーション

基本的にはリストを作成するときに、appendで利用するより処理速度を速めたいときに利用する。

リストだけではなく、辞書や二元配列の作成にも対応できるので、lengthの長い配列を処理する際にはコードの簡易化にも使えるので利用するべきだと思われる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0