1

私はpythonが初めてで、範囲関数、つまりrange(1,21,2)でできるように、[1,3,5,7 ....]などの整数を含むリストを生成する関数が必要です.

ただし、上限を設定する代わりに、リストの長さを設定したいので、リストに必要な開始点、ステップ、および整数の数を指定します。そのような機能は存在しますか?

4

2 に答える 2

6

いいえ、でも簡単に作成できます。

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]
于 2013-01-08T21:33:06.423 に答える
5

Martijn Pieter の答えは整数に適しています。startまたはフロートの可能性がある場合は、リスト内包表記stepを使用できます。

[start+i*step for i in range(count)]
于 2013-01-08T21:35:39.233 に答える