Python#Python 3のrange().append()エラー

なぜかpython3でrange().append()を使うとき ‘range’ object has no attribute ‘append’のエラーが有りました。色々検索してたらどうやらPython3ではrange()を使うともうrangeオブジェクトが戻るらしいく、道理でappend()使えません。

https://stackoverflow.com/questions/22437297/python-3-range-append-returns-error-range-object-has-no-attribute-appen

>>> myrange = list(range(10,100,10))
>>> myrange.append(200)
>>> myrange
[10, 20, 30, 40, 50, 60, 70, 80, 90, 200]

rangeをlistオブジェクトに変換すればいいです。なぜPython3がこうになるかというと、rangeオブジェクトはいつも最小のメモリしか持ちません。つまり一回で大きなListを作ってしまう膨大なメモリを保持されることを予防します。

シェアする

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

フォローする