2

私はpythonを使用しており、10倍のループを実行しようとしています。この問題を説明するために、任意のコンテンツの任意のサイズ > 10 の配列があります。次に例を示します。

myArray = [12,14,15,22,16,20,30,25,21,5,3,8,11,19,40,33,23,45,65]
smallArray = []
bigArray = []

私は2つのことをしたい:

  1. 「myArray」を 10 等分します [例: part1、part2、...、part10]
  2. 10 回ループする必要があり、そのたびに次のことを行います。
    • smallArray = 一度に 1 つの異なる部分
    • 残りの部分は「bigArray」に割り当てられます

残りの10回の折り目についてこれを続けます。

たとえば、出力:

Loop1: smallArray = [part1], bigArray[the remaining parts except part1]
Loop2: smallArray = [part2], bigArray[the remaining parts except part2]
...
Loop10: smallArray = [part10], bigArray[the remaining parts except part10]

Pythonでこれを行う方法は?

4

1 に答える 1

2
l = len(myArray)

#create start and end indices for each slice
slices = ((i * l // 10, (i + 1) * l // 10) for i in xrange(0, 10))

#build (small, big) pairs
pairs = [(myArray[a:b], myArray[:a] + myArray[b:]) for a, b in slices]

for small, big in pairs:
    pass
于 2012-06-11T21:50:33.520 に答える