Pythonで整数の範囲をリストに入れる(range)

数列はrangeで作ります。例えばrange(4)は0,1,2,3という数列を表します。

入力

a = range(4)
print(a[0])
print(a[1])
print(a[2])
print(a[3])

出力

0
1
2
3

リストと同じように、カッコに番号を入れて要素を取得します。range(4)は4つの要素を持つため、a[4]はありません。

入力

a = range(4)
print(a[4])

出力

Traceback (most recent call last):
  File "list_18.py", line 2, in <module>
    print(a[4])
IndexError: range object index out of range

最小値と最大値を指定する

入力

a = range(2, 6)
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4])

出力

2
3
4
5
Traceback (most recent call last):
  File "list_18.py", line 6, in <module>
    print(a[4])
IndexError: range object index out of range

rangeに二つの引数を指定できます。第一引数はリストの最小値、第二引数は最大値から一つ引いた数です。例えば(2, 6)は2から5までを順に並べた、4つの要素からなる数列です。a[4]は存在しないのでprint(a[4])はインデックスエラーを出します。

リスト化する

ここからは少し複雑な話になるので、Pythonを初めて勉強するという方は飛ばしてください。

実は、rangeはリストではありません。

入力

a = range(6)
print(a)

出力

range(0, 6)

となります。rangeをリストにしたいときは、rangeというオブジェクトをリストにします。

入力

a = range(6)
b = list(a)
print(b)

出力

[0, 1, 2, 3, 4, 5]

等差数列

rangeの第三引数は数列の公差を表します。省略すると公差1となり、連続した数列が出てきます。

入力

x = range(1, 20, 3)
y = list(x)
print(y)

出力

[1, 4, 7, 10, 13, 16, 19]

第二引数で最大値を19にしているため、数列が19で終わっています。

目次(リスト)

リストの基本
リストの長さ
整数のリスト(range)
インデックスから値を取得
マイナスのインデックス
値の存在チェック
値の重複カウント
値の追加
リストの追加
リストの足し算
リストのかけ算
リストの挿入
並び替え(逆順)
並び替え(昇順)
並び替え(降順)
値の削除(remove)
値の削除(pop)
値の削除(del)
リストの総和

Python

環境設定
文字列
数値
リスト
辞書
集合
ifとelse
forとwhile
関数
クラス
ファイル
システム

広告

広告

広告

技術

言語

高校理系

高校文系

中学

小学

エッセイ

姉妹サイト