組み込み関数 xrange

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

 range関数 に非常によく似ていますが、リストの代わりに 『xrange オブジェクト』 を返します。rangeもxrangeも使う場面は同じですが、rangeはリストであるため、メモリをそれだけ消費することになります。一方、xrangeは範囲であるため、メモリの消費がありません。つまり範囲が大きい場合は、xrangeを使います。

##coding: shift-jis

print range(1,20) ←リストを作るので、メモリの消費が多い。
print xrange(1,20) ←xrange(1,20)だけを覚えるので消費が少ない。

raw_input()

出力画面:
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
 xrange(1, 20)