Pythonでrangeの中身がprintできない。
Pythonで最も良く使われている関数の一つであるrange関数
。
今回はそんなrange関数
でハマってしまう点を紹介。
range関数とは
range関数
は連続する整数を作る為の関数。
for文を使う場合、かなりの確率でお世話になる。
数列にわたって反復を行う必要がある場合、組み込み関数 range() が便利です。この関数は算術型の数列を生成します
4. その他の制御フローツール — Python 3.7.3rc1 ドキュメント
[python title="range.py"]
for i in range(5):
print(i)
#0
#1
#2
#3
#4
[/python]
「rangeの中身がprintできない」とは?
range関数
自体をprintした場合、list形式で [0,1,2,3,4]
のような形で表示されるかと思ったが、そうはならない。
[python title="range.py"]
print(range(5))
#range(0, 5)
[/python]
rangeをprintするには
Python2とPython3ではrange関数の仕様が異なる。
Python3でrange関数からlistを生成するにはlist関数を使うと良い。
Python2のrange()のようにリストを生成したい場合はlist()を使う。
Pythonのrange関数の使い方 | note.nkmk.me
[python title="range.py"]
print(list(range(5)))
#[0, 1, 2, 3, 4]
[/python]
まとめ
- Pythonでrangeの中身がprintするにはlist関数を使うと良い