1

組み込み/既存のライブラリ関数はありxrangeますが、間隔を均等な間隔の重複しないチャンクに分割しますか?

たとえば、この関数を呼び出すとxchunks、次のようになります。

>>> xchunks(start=0, stop=18, step=5)
[(0, 4), (5, 9), (10, 14), (15, 17)]

理想的には、これは負でも機能するはずstepです。

>>> xchunks(start=20, stop=2, step=5)
[(20, 16), (15, 11), (10, 6), (5, 3)]
4

3 に答える 3

2

これに対する完全な解決策は次のようになります。

[(s, (s+step-1 if s+step-1<stop-1 else stop-1)) for s in xrange(start,stop,step)]

range または xrange のどちらか好きな方を使用してください。

于 2016-02-16T10:38:08.357 に答える