3
range(5, 15) [1, 1, 5, 6, 10, 10, 10, 11, 17, 28]
range(6, 24) [4, 10, 10, 10, 15, 16, 18, 20, 24, 30]
range(7, 41) [9, 18, 19, 23, 23, 26, 28, 40, 42, 44]
range(11, 49) [9, 23, 24, 27, 29, 31, 43, 44, 45, 45]
range(38, 50) [1, 40, 41, 42, 44, 48, 49, 49, 49, 50]

関数のprintコマンドから上記の出力を取得します。私が本当に欲しいのは、たとえば一番上の行5,6,7...15,1,1,5,6などの範囲の組み合わせリストです。出力範囲は

range_draws=range(int(lower),int(upper))

私は素朴に範囲を与えると思いました。他の数字はスライスされたリストから来ています。

誰かが私が望ましい結果を得るのを手伝ってくれませんか。

4

1 に答える 1

5

この関数は、メモリを節約するために特別な範囲オブジェクトrange()を返します(開始、終了、およびステップサイズのみが実行される場合、すべての数値をメモリに保持する必要はありません)。それをリストにキャストして「展開」します。

list(yourrange) + otherlist

ドキュメントを引用するには:

range通常のlistまたはに対するタイプの利点はtuplerangeオブジェクトが表す範囲のサイズに関係なく、オブジェクトが常に同じ(少量の)メモリを使用することです(オブジェクトは、、および値のみを格納しstart、個々のアイテムとサブ範囲を次のように計算するため)必要)。stopstep

于 2013-01-25T10:07:41.470 に答える