我正在寻找一种方法将列表拆分为预定义的切片:
a = list(range(1, 1001)) # Added list()
b = [200, 500, 300]
Run Code Online (Sandbox Code Playgroud)
列表a应该被切成len(b)包含a的前200个元素,以下500个元素和最后300个元素的子列表sum(b) == len(a).可以安全地假设.
这有共同的功能吗?
请从列表中迭代器(如果没有的话),并得到n次next从迭代器的每个元素n在b.
>>> a = range(1, 1001)
>>> b = [200, 500, 300]
>>> a_iter = iter(a)
>>> [[next(a_iter) for _ in range(n)] for n in b]
[[1,
2,
...
199,
200],
[201,
...
700],
[701,
702,
...
999,
1000]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |