Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表排序难题_Python_List - Fatal编程技术网

Python列表排序难题

Python列表排序难题,python,list,Python,List,我有一个不寻常的列表排序问题,我正在努力找到一个简洁有效的解决方法。问题如下:我有一个名为index的列表,该列表中的每一项都对应于第二个列表数据的索引。例如,索引中的第一个数字是零,对应于列表数据中的第一项,即1,索引中的3对应于列表数据中的6,因为6是列表数据中的第三项[包括第0项] 现在,我想对列表数据进行组织,以便在索引之间进行分组,如下所示: indexes = [ 0, 3, 6, 8, 12, 13] data = [1, 2, 5, 6, 11, 13, 15, 23, 35,

我有一个不寻常的列表排序问题,我正在努力找到一个简洁有效的解决方法。问题如下:我有一个名为index的列表,该列表中的每一项都对应于第二个列表数据的索引。例如,索引中的第一个数字是零,对应于列表数据中的第一项,即1,索引中的3对应于列表数据中的6,因为6是列表数据中的第三项[包括第0项]

现在,我想对列表数据进行组织,以便在索引之间进行分组,如下所示:

indexes = [ 0, 3, 6, 8, 12, 13]

data = [1, 2, 5, 6, 11, 13, 15, 23, 35, 36, 38, 41, 46]
解决方案:

organised_data = [ [1,2,5], [6,11,13], [15,23], [35,36,38,41], [46] ]

我已经做了很多年了。

您可以在列表中的连续索引之间使用切片

>>> [data[indexes[i]:indexes[i+1]] for i in range(len(indexes)-1)]
[[1, 2, 5], [6, 11, 13], [15, 23], [35, 36, 38, 41], [46]]

可以在列表中的连续索引之间使用切片

>>> [data[indexes[i]:indexes[i+1]] for i in range(len(indexes)-1)]
[[1, 2, 5], [6, 11, 13], [15, 23], [35, 36, 38, 41], [46]]
使用:

使用: