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 = []

我想做两件事:

  1. 将“myArray”分成 10 个相等的部分 [例如 part1, part2, ..., part10]
  2. 我需要循环 10 次,每次执行以下操作:
    • smallArray = 一次一个不同的部分
    • 其余部分分配到“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 回答