私はpythonが初めてで、範囲関数、つまりrange(1,21,2)でできるように、[1,3,5,7 ....]などの整数を含むリストを生成する関数が必要です.
ただし、上限を設定する代わりに、リストの長さを設定したいので、リストに必要な開始点、ステップ、および整数の数を指定します。そのような機能は存在しますか?
いいえ、でも簡単に作成できます。
def myrange(start, step, count):
return range(start, start + (step * count), step)
短いデモンストレーション:
>>> myrange(10, 2, 5)
[10, 12, 14, 16, 18]
>>> myrange(10, -2, 5)
[10, 8, 6, 4, 2]
Python 3ではrange
、通常のrange()
関数と同じようにオブジェクトを返します。
>>> myrange(10, 2, 5)
range(10, 20, 2)
>>> list(myrange(10, 2, 5))
[10, 12, 14, 16, 18]
Martijn Pieter の答えは整数に適しています。start
またはフロートの可能性がある場合は、リスト内包表記step
を使用できます。
[start+i*step for i in range(count)]