プログラミング

【Python】range関数で1から連番・飛ばしの間隔・逆順など

  • このエントリーをはてなブックマークに追加
  • LINEで送る

Pythonのrange関数でチョットした応用をしたいあなたへ。

『1から連番にするには?』

『間隔を飛ばしで連番にするには?』

『逆順にどうやってするの?』

 

このような疑問に答えます。


SEおっさん
SEおっさん
SE歴20年のオッサンが詳しく解説するぞい!
※保有資格:OracleMasterGold/JavaWebコンポーネントディベロッパ/応用情報技術者/簿記2級

【Python】range関数で1から連番にする方法

range関数で1から連番にする方法は…

1番目の引数に”1″をセット

2番目の引数に”終了する値”をセット

です。

これで1から連番を作成できます。

1から連番を作成するrange関数の構文はこちら。

range関数(1から連番)
  • 第1引数
    開始(start)…1
  • 第2引数
    終了(stop)…終了する値
     
  • 戻り値
    1から終了まで1づつ加算した連番
  • 戻り値の型
    rangeオブジェクト

まだ解らなくてもOK。
例文を一緒に見ていこう

x = range(1, 5)
print(x)
print(list(x))
range(1, 5)
[1, 2, 3, 4]

たろちゃん
たろちゃん
1から連番が作成されているね!

Q&A

Q:print(x)の実行結果がrange(1, 5)になってるのは?

A:range関数の戻り値の型はrangeオブジェクトだからです

list型に変換すると連番[1, 2, 3, 4]が表示されます。

 

Q:終了値は5を指定してるのに4で終わってるのは?

A:開始値 ≦連続値<終了値だからです

終了値は含まず、終了値の直前までの連番を作成します。

イメージはこんな感じ

0|1234|5
 境    境
 界    界

5は含まれない点がポイント♪

 

わかったかのぅ
SEおっさん
SEおっさん

これらのQ&Aはrange関数の使い方を理解していればスっと頭に入るでしょう。

【Python】range関数の使い方!範囲・最後の判定・初期値など
【Python】range関数の使い方!範囲・最後の判定・初期値など
Pythonはrange関数で連番が作成できます。 しかし、 どのように作成して良いか今一歩わからないというアナタへ。 『range関数の使い方は?』 『範囲を.....

【Python】range関数で間隔を飛ばして連番にする方法

range関数で間隔を飛ばして連番にする方法は…

3番目の引数に間隔をセット

です。

たろちゃん
たろちゃん
間隔って何?

カウントアップで増える量じゃ
SEおっさん
SEおっさん

間隔とは連番のカウントアップで増える量です。

階段をイメージしてください。

階段を2段づつ上るとき、1段飛ばしになりますよね。
階段を何段づつ上るか(カウントアップするか)

が第3引数の間隔の意味です。

ケーススタディで考えてみましょう。

ケーススタディ
  • 間隔値=1
    1づつカウントアップ(1つ増える)
    0,1,2,3
    0コ飛ばし(普通の連番)
  • 間隔値=2
    2づつカウントアップ(2つ増える)
    0,2,4,6
    1コ飛ばし
  • 間隔値=3
    3づつカウントアップ(3つ増える)
    0,3,6,9
    2コ飛ばし

間隔値の意味は理解できたでしょうか?

引数に間隔値を指定するrange関数の構文はこちら。

range関数(飛ばして連番)
  • 第1引数
    開始(start)…開始する値
  • 第2引数
    終了(stop)…終了する値
  • 第3引数
    間隔(step)…増える量
     
  • 戻り値
    開始から終了まで間隔づつ加算した連番
  • 戻り値の型
    rangeオブジェクト

まだ解らなくてもOK。
例文を一緒に見ていこう

x = range(0, 6, 2)
print(x)
print(list(x))
range(0, 6, 2)
[0, 2, 4]

たろちゃん
たろちゃん
0から1飛ばしで連番が作成されているね!

Q&A

Q:print(x)の実行結果がrange(0, 6, 2)なってるのは?

A:range関数の戻り値の型はrangeオブジェクトだからです

list型に変換すると連番[0, 2, 4]が表示されます。

 

Q:終了値は6を指定してるのに4で終わってるのは?

A:開始値 ≦連続値<終了値だからです

終了値は含まず、終了値の直前までの連番を作成します。

イメージはこんな感じ

|012345|6
境      境
界      界

6は含まれない点がポイント♪

わかったかのぅ
SEおっさん
SEおっさん

これらのQ&Aはrange関数の使い方を理解していればスっと頭に入るでしょう。

【Python】range関数の使い方!範囲・最後の判定・初期値など



スポンサーリンク

【Python】range関数で連番を逆順にする方法

range関数でカウントアップする連番を逆順にするには…

3番目の引数に-1をセット

です。

3番目の引数は間隔です。

間隔の説明は次の通り。

間隔

プラス値…カウントアップで連番の増える量

マイナス値…カウントダウンで連番の減る量

1の場合は、1づつカウントアップします。

SEおっさん
SEおっさん
-1の場合はどうなると思う?

1づつカウントダウン!
たろちゃん
たろちゃん
SEおっさん
SEおっさん
正解じゃ!

間隔値はカウントアップで増える量を表しますが、カウントダウンとして減る量も表現できるのです。

間隔値-2をセットすると1コ飛ばしの逆順で連番が作成されます。

ケーススタディで考えよう。

ケーススタディ
  • 間隔値が-1
    3,2,1,0
    1づつカウントダウン(1つ減る)
    普通の逆順
  • 間隔値が-2
    6,4,2,0
    2づつカウントダウン(2つ減る)
    1コ飛ばしの逆順
  • 間隔値が-3
    9,6,3,0
    3づつカウントダウン(3つ減る)
    2コ飛ばしの逆順

間隔をマイナスにすると逆順になるイメージは掴めたでしょうか?

間隔にマイナスを指定するrange関数の構文はこちら。

range関数(逆順に連番)
  • 第1引数
    開始(start)…開始する値
  • 第2引数
    終了(stop)…終了する値
  • 第3引数
    間隔(step)…減る量
     
  • 戻り値
    開始から終了まで間隔づつ減算した連番
  • 戻り値の型
    rangeオブジェクト

まだ解らなくてもOK。
例文を一緒に見ていこう

x = range(5, 0, -1)
print(x)
print(list(x))
range(5, 0, -1)
[5, 4, 3, 2, 1]

たろちゃん
たろちゃん
5から逆順に連番が作成されているね!

Q&A

Q:print(x)の実行結果がrange(5, 0, -1)なってるのは?

A:range関数の戻り値の型はrangeオブジェクトだからです

list型に変換すると連番[5, 4, 3, 2, 1]が表示されます。

 

Q:終了値は0を指定してるのに1で終わってるのは?

A:開始値 ≧連続値>終了値だからです

終了値は含まず、終了値の直前までの連番を作成します。

イメージはこんな感じ

6|54321|0
 境     境
 界     界

0は含まれない点がポイント♪

わかったかのぅ
SEおっさん
SEおっさん

これらのQ&Aはrange関数の使い方を理解していればスっと頭に入るでしょう。

【Python】range関数の使い方!範囲・最後の判定・初期値など

【Python】range関数まとめ!1から・1飛ばし・逆順

いかがでしたでしょうか?

  • range関数で1から連番にする方法
  • range関数で間隔を飛ばして連番にする方法
  • range関数で連番を逆順にする方法

についてご紹介してきました。

range関数はPythonで初めから搭載されている組込関数です。

モジュールをimportする必要もなく気楽に使えます。

振り返ってみましょう!

range関数で1から連番にする方法
  • 第1引数(開始)に”1″をセット
  • 第2引数(終了)に”終了する値”をセット
  • 第3引数(間隔)は省略でOK
range関数で間隔を飛ばして連番にする方法
  • 第1引数(開始)に”開始した値″をセット
  • 第2引数(終了)に”終了する値”をセット
  • 第3引数(間隔)にプラス値をセット

間隔とはカウントアップで増える量じのこと

間隔が2の場合は2づつ増えてカウントアップ

0,2,4,6 … など

range関数で連番を逆順にする方法
  • 第1引数(開始)に”開始した値″をセット
  • 第2引数(終了)に”終了する値”をセット
  • 第3引数(間隔)にマイナス値をセット

間隔をマイナスにするとカウントダウンで連番が作成される

カウントダウンで減る量をセットする

間隔がー2の場合は2づつ減ってカウントダウン
6,4,2,0 … など

range関数で簡単に連番が作成されることが分かったと思います。

range関数の基本の使い方はこちらから♪

【Python】range関数の使い方!範囲・最後の判定・初期値など
【Python】range関数の使い方!範囲・最後の判定・初期値など
Pythonはrange関数で連番が作成できます。 しかし、 どのように作成して良いか今一歩わからないというアナタへ。 『range関数の使い方は?』 『範囲を.....

range関数を使うシーンはたくさんあります。

特にfor文でカウントアップしながらループする処理は頻繁にみかけるでしょう。

ループ処理について理解を深めるのも良いかもしれません。

【Python】for文のインクリメントはrangeで変数にinする
【Python】for文のインクリメントはrangeで変数にinする
Pythonのfor文を使ってループしますが、 カウンタをインクリメントする方法が他言語と大きく異なります。 『for文でインデックスのインクリメント方法は?』.....
フローチャートで簡単にループを抜ける方法!2つの図形と3つの判定
フローチャートで簡単にループを抜ける方法!2つの図形と3つの判定
フローチャートは、なんとな~くわかってきたけど… ループの抜け方がわからんゾ 『そもそもループの図形ってあるの?』 『終了条件は、どうやって書くの?』 フローチ.....

また、

range関数が扱えるのは整数のみです。

小数の連番はNumpyモジュールのarange関数というものがサポートしています。

SEおっさん
SEおっさん
ここまで読んでくれてありがとう!

プロフィールの詳細はこちら


スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*