根据 Python 中的一组索引将列表拆分为子列表

Pla*_*nor 4 python

我有一个类似于下面的列表

['a','b','c','d','e','f','g','h','i','j']
Run Code Online (Sandbox Code Playgroud)

我想用索引列表分开

[1,4]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它将是

[['a'],['b','c'],['d','e','f','g','h','i','j']]
Run Code Online (Sandbox Code Playgroud)

作为

[:1] =['a']

[1:4] = ['b','c']

[4:] = ['d','e','f','g','h','i','j']
Run Code Online (Sandbox Code Playgroud)

情况 2:如果索引列表是

[0,6]
Run Code Online (Sandbox Code Playgroud)

这将是

[[],['a','b','c','d','e'],['f','g','h','i','j']]
Run Code Online (Sandbox Code Playgroud)

作为

[:0] = []

[0:6] = ['a','b','c','d','e']

[6:] = ['f','g','h','i','j']
Run Code Online (Sandbox Code Playgroud)

情况 3 如果索引是

[2,5,7]
Run Code Online (Sandbox Code Playgroud)

它将是 [['a','b'],['c','d','e'],['h','i','j']] 作为

[:2] =['a','b']
[2:5] = ['c','d','e']
[5:7] = ['f','g']
[7:] = ['h','i','j']
Run Code Online (Sandbox Code Playgroud)

Fou*_*ier 6

沿着这些路线的东西:

mylist = ['a','b','c','d','e','f','g','h','i','j']
myindex = [1,4]

[mylist[s:e] for s, e in zip([0]+myindex, myindex+[None])]
Run Code Online (Sandbox Code Playgroud)

输出

[['a'], ['b', 'c', 'd'], ['e', 'f', 'g', 'h', 'i', 'j']]
Run Code Online (Sandbox Code Playgroud)