【发布时间】:2018-05-06 16:46:32
【问题描述】:
我有这两个列表
indexes = [4, 2, 4, 6]
values = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]
我希望将这些列表合并成这样。每个索引值对应于合并的列表大小。
[[0, 1, 2, 3], [0, 1], [2, 3, 0, 1], [2, 3, 0, 1, 2, 3]]
我对此的当前答案还可以,但我想知道是否有更好的方法。
ids = []
cIndex = 0
for i in indexes:
ids.append([values[cIndex+x] for x in xrange(i)])
cIndex += i
【问题讨论】:
-
您的代码生成
[[0, 1, 2, 3], [0, 1], [2, 3, 0, 1], [2, 3, 0, 1, 2, 3]],这与相关列表不同。你到底想要什么? -
你说得对!
-
与其他问题非常相似。请特别查看此答案:stackoverflow.com/a/312467/560599 - 不难将其概括为尺寸列表。