1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3のrange関数の使い方

Last updated at Posted at 2019-07-27

##はじめに

未来電子テクノロジーでインターンをしている坂口です。
今週はPython3を使ってHackerrankの問題に取り組んだりしていたのですが、なかなかに難しくて早くも挫折しかけています…。
ということで(?)、今週はPython3のrange関数の使い方を自分メモとして書いていきます。

##range関数とは
range関数は連続した数字のオブジェクトを作る機能を持った関数です。
Python以外の言語にも存在する概念ですが、for文をよく使うPythonとは特に相性がいいようです。
rangeは和訳すると"範囲"という意味であり、rangeの基本的な使い方は数字の範囲を指定することになります。

##range(stop)
range(stop)のように、引数に整数を1つ設定すると、0 ≦ i < stopまでの連番の数列を作ることができます。
引数stopの値は結果には含まれないので、注意が必要です。
例えば、

In: print(list(range(3)))

Out: [0, 1, 2]

となります。

##range(start, stop)
range(start, stop)のように、引数に整数を2つ設定すると、start ≦ i < stopの連番の数列を作ることができます。
引数startの値は結果に含まれるのに対して、引数stopの値は含まれないので注意が必要です。
例えば、

In: print(list(range(3, 6)))

Out: [3, 4, 5]

となります。

##range(start, stop, step)
range(start, stop, step)のように、引数に整数を3つ設定すると、start ≦ i < stopの範囲でstepずつ増加する等差数列を作ることができます。
例えば、

In: print(list(range(3, 12, 2)))

Out: [3, 5, 7, 9, 11]

となりますし、stepに負の整数を入れれば、

In: print(list(range(12, 9, -1)))

Out: [12, 11, 10]

のように降順の数列を作ることもできます。

##for文との組み合わせ
for文を使うと、ループ処理をしながらrange関数を出力することができます。
例えば、

In: for i in range(5)
    print(i)

Out: 0
     1
     2
     3
     4

という具合になります。pythonで多用されるrange関数の使い方です。

##まとめ
ここまでrange関数のことを説明してきて今さら?って感じではあるのですが、pythonにはrange関数を使わなくても数列を作れる、スライスという便利な機能もあるらしい…。
初心者には違いがまだよくわかっていないのですが、仕組みとしては似ているようです。どちらも使えるようになったら便利かも。
また、当方プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし誤りがあれば修正するのでどんどん指摘してください。よろしくお願いいたします。

##参考URL

Pythonのrange関数の使い方
https://note.nkmk.me/python-range-usage/

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?