Python:根据索引范围将列表拆分为子列表

2on*_*one 19 python indexing list

更新:

在python中,如何根据索引范围将列表拆分为子列表

例如原始清单:

list1 = [x,y,z,a,b,c,d,e,f,g]
Run Code Online (Sandbox Code Playgroud)

使用索引范围0 - 4:

list1a = [x,y,z,a,b]
Run Code Online (Sandbox Code Playgroud)

使用索引范围5-9:

list1b = [c,d,e,f,g]
Run Code Online (Sandbox Code Playgroud)

谢谢!

我已经知道包含某些字符串的列表元素的(变量)索引,并希望根据这些索引值拆分列表.

还需要拆分成可变数量的子列表!即:

list1a
list1b
.
.
list1[x]
Run Code Online (Sandbox Code Playgroud)

Ter*_*ryA 14

在python中,它被称为切片.以下是python切片表示法的示例:

>>> list1 = ['a','b','c','d','e','f','g','h', 'i', 'j', 'k', 'l']
>>> print list1[:5]
['a', 'b', 'c', 'd', 'e']
>>> print list1[-7:]
['f', 'g', 'h', 'i', 'j', 'k', 'l']
Run Code Online (Sandbox Code Playgroud)

请注意您如何正面或负面切片.添加负数时,表示我们从右向左切片.


Mar*_*ins 12

请注意,您可以在切片中使用变量:

l = ['a',' b',' c',' d',' e']
c_index = l.index("c")
l2 = l[:c_index]
Run Code Online (Sandbox Code Playgroud)

这会将l的前两个条目放在l2中


Jon*_*nts 6

如果您已经知道索引:

list1 = ['x','y','z','a','b','c','d','e','f','g']
indices = [(0, 4), (5, 9)]
print [list1[s:e+1] for s,e in indices]
Run Code Online (Sandbox Code Playgroud)

请注意,我们在末尾添加+1以使范围包括在内。