連続した数値の要素を持つリストの作成(range関数)

広告

後で解説を行う「for」文などでは、順に並んだ数値を要素として持つリストが頻繁に使われます。少ない要素数であれば、直接数値を記述してリストオブジェクトを作成することも可能ですが、数が多い場合には「range」関数を使うと便利です。

「range」関数は指定した条件に従ってリストオブジェクトを作成して返してくれます。書式は次の通りです。

range([start,] stop[, step])

引数は全て整数で指定します。「stop」だけを指定した場合には、0から「stop - 1」まで順に1ずつ増加する要素を持つリストが作成されます。

list = range(5)

print list  # [0, 1, 2, 3, 4]

開始する数値を指定する場合は引数「start」を指定して下さい。

list = range(2, 5)

print list  # [2, 3, 4]

デフォルトでは次の要素は前の要素に1を加えた数値となりますが、引数「step」を指定すると指定した値だけ次の要素には追加されます。この時最後の値は「stop」より小さい最大の数値となります。

list = range(1, 6, 2)

print list  # [1, 3, 5]

各引数の値は負の整数も指定可能です。引数「step」が負の値の場合、最後の値は「stop」より大きい最小の数値となります。

list = range(0, -5, -2)

print list  # [0, -2, -4]
サンプルコード

では実際に試してみます。

#coding: UTF-8

list = range(5)
print "range(5) = ",
print list

list = range(2, 5)
print "range(2, 5) = ",
print list

list = range(1, 6, 2)
print "range(1, 6, 2) = ",
print list

list = range(0, -5, -2)
print "range(0, -5, -2) = ",
print list

上記を「test12-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

連続した数値の要素を持つリストの作成(range関数)

( Written by Tatsuo Ikura )