ページへ戻る
− Links
印刷
Python/回数を指定してループ
の編集 ::
NJF Wiki
xpwiki
:
Python
/
回数を指定してループ
の編集
# x743c32f の編集
ページ内容:
*基本 [#x743c32f] [[Python]]で回数を指定してループするのは通常for文とrangeを組み合わせます。 for i in range(3): print i 実行結果 0 1 2 このとき、iのスコープはループの外まであるので注意が必要です。 for i in range(3): print i print i 結果 0 1 2 2 rangeは等差数列を要素とする配列を生成する関数で、 >>> range(3) [0, 1, 2] となります。pythonのforループはinの要素を順にループするので、このような結果となります。 rangeは最小値、上限、差を引数とすることもできます。 >>> range(1,4) [1, 2, 3] >>> range(1,4,2) [1, 3] 非常に回数の多いループで、リストを生成するとメモリがもったいない、という場合にはxrangeを使います。これははじめにまとめてリストを生成せず、ループの時に動的に値を生成するため、メモリが節約できます。 for i in xrange(3): print i xrangeはxrange型のオブジェクトを返します。 xrange(3) >>> range(1,2) xrangeは動的に値を生成する分だけループが遅くなりますが、rangeとの差はわずかです。それより、大きなリストを生成する負荷の方が高いため、非常に大きな数をループする時にはxrangeのほうが処理が速くなります。経験的には数千回程度以下のループだとさほど差を感じませんが、数十万回以上のループをさらに繰り返すような場合だとxrangeの方が体感できるほど速くなります。このようにxrangeの方がメリットが大きいためか、python3ではxrangeは廃止され、rangeがpython2のxrangeとなりました。python3でrangeからリストを生成するには、 rlist = list(range(5)) とします。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「名古屋」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=Python%2F%E5%9B%9E%E6%95%B0%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%83%AB%E3%83%BC%E3%83%97