tbo*_*den -1 python list python-3.x
我有一个数组,我试图将其分成不同大小的块。
在下面的示例中,loopN是卡盘尺寸。我已经尝试了各种方法来迭代loopN,但无法弄清楚。list是我试图拆分成块的数组。
loopN = [2,3,1]
list = [1,2,3,4,5,6]
for i in range(0, len(list), loopN):
chunks.append(list[i:i+loopN])
Run Code Online (Sandbox Code Playgroud)
我正在寻找的输出是[[1,2],[3,4,5],[6]].
如何将阵列拆分为不同大小的夹头?
您可以根据 中的元素使用itertools.islice切片:lloopN
from itertools import islice
loopN = [2,3,1]
l = iter([1,2,3,4,5,6])
[list(islice(l, i)) for i in loopN]
# [[1, 2], [3, 4, 5], [6]]
Run Code Online (Sandbox Code Playgroud)
如果你想坚持列出方法,按照你的方法,@barmar 已经发现了一些错误的地方。请注意,切片i:i+loopN实际上没有意义。您不能添加整数和列表。
您需要遍历将用于切片的值l,因此遍历loopN. 此外,您不需要范围,只需直接迭代loopN,这也是一个可迭代的,并跟踪您迭代的先前值,在每次迭代时添加它们以向前移动切片。
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |