gpt4 book ai didi

python - 根据索引从两个列表中创建列表列表

转载 作者:行者123 更新时间:2023-11-30 22:25:44 25 4
gpt4 key购买 nike

我有这两个列表

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

最佳答案

您可以使用 list slicing列表理解表达式如:

>>> indexes = [4, 2, 4, 6]
>>> values = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]

>>> [values[sum(indexes[:i]):sum(indexes[:i+1])] for i, index in enumerate(indexes)]
[[0, 1, 2, 3], [0, 1], [2, 3, 0, 1], [2, 3, 0, 1, 2, 3]]

关于python - 根据索引从两个列表中创建列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47443291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com