ループ処理に使われるfor文とよくセットで使われるrangeの使い方を紹介していきます。
for文の書き方とrangeの挙動を知っていれば、
その組み合わせでいろいろなループ処理を作ることができます。
もし、for文とrangeの基本的な内容が不安な方は以下の記事をご覧ください。
Pythonのループ処理に使われる構文にはfor文とwhile文があります。今回はそのfor文の使い方解説をしていきます。 for文とは for文はループ処理を行う構文です。Pythonで書く場合はコロン(:)とインデントに注[…]
for文でおなじみのrange関数の使い方を説明していきます。 この関数の使い方を詳しく知っていれば柔軟にfor文のプログラムを作ることができます。 この記事で紹介しているコードはPythonのIDLE表記になっています。 […]
整数を取り出す
range({開始}, {終了}, {刻み})
- {終了}のみでもOK。そのとき{開始}は0となる。
- {刻み}を処理したいなら引数は3つ必要
まずはシンプルにrangeで指定した整数を取り出す方法です。
rangeの書き方でいろいろなパターンの整数を取り出すことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#引数1つなら終了として扱われる >>> for i in range(3): print(i) #出力結果 0~2の連続する整数3つ 0 1 2 #開始を指定するなら引数は2つ >>> for i in range(2, 5): print(i) #出力結果 2 3 4 #逆順 >>> for i in range(8, 5, -1): print(i) #出力結果 8 7 6 #1つ飛ばし >>> for i in range(1, 8, 2): print(i) #出力結果 1 3 5 7 |
リストの長さだけ繰り返す
ループ処理をするときに重要なことは「何回ループさせるのか」です。
その回数があらかじめ決まっているときもあれば、毎回異なる場合もあります。
例えばリストに含まれているデータの数だけ繰り返したいときを考えてみましょう。
この時はrangeとlenの組み合わせで対処できます。
lenの引数にリストを渡すとリストの長さを返します。
リストの長さとは含まれているデータの個数のことです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>>> x = [0, 2, 4, 6] #リストをxに代入 >>> y = len(x) #len関数でリストの長さを取得 >>> print(y) 4 #yの値を出力 >>> for i in range(y): #yをrange関数にわたす print(i) #出力結果 0 1 2 3 |
lenで取得したリストの長さが4なので、
「range(4)
」となって0~3までの整数を出力しています。
上の例では変数yにリストの長さを代入していますが、
以下のように変数に代入せずに書くこともできます。
1 2 3 4 5 6 7 8 9 |
>>> x = [0, 2, 4, 6] #リストをXに代入 >>> for i in range(len(x)): print(i) #出力結果 0 1 2 3 |
rangeの引数に「len(x)
」を渡しています。
xは長さ4のリストなので「len(x)=4
」となるので、
「range(len(x))=range(4)
」となり先ほどと同じ出力結果になっています。
このように入れ子にすることもできます。
まとめ
今回はfor文とrange・lenの使い方を見ていきました。
よく出てくる使い方なので、自分でもプログラムを書いて挙動を確かめてみましょう。
- ループ処理とは?for文とwhile文の解説
- while文を使う方法【インクリメントと無限ループ対処法】
- for文の使い方解説(一行・range関数・リスト)
- for文を一行で書く方法と複数行との違い
- for文でrange関数とlen関数を使う方法
- for文でリストのインデックスと要素を取り出す(enumerate)
- for文で辞書のキー・バリューを取り出す方法(enumerate・items・keys・values)
- 条件分岐とは?if文・else・elifの書き方
- for文やif文でpass・break・continueを使う方法
- while文のbreak・else・continue使い方まとめ
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]