如何根据索引范围将列表拆分为子列表?
例如,原始清单:
list1 = [x,y,z,a,b,c,d,e,f,g]使用索引范围0-4:
list1a = [x,y,z,a,b]使用索引范围5-9:
list1b = [c,d,e,f,g]我已经知道了列表元素的(变量)索引,这些元素包含某些字符串,并希望根据这些索引值拆分列表。
还需要划分成可变数量的子列表,即:
list1a
list1b
.
.
list1[x]发布于 2013-09-02 10:33:32
请注意,可以在片中使用变量:
l = ['a',' b',' c',' d',' e']
c_index = l.index("c")
l2 = l[:c_index]这将在l2中放置l的前两个条目
发布于 2013-09-02 10:20:06
在蟒蛇里,这叫做切片。下面是python's slice notation的一个示例
>>> 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']请注意,您如何可以正面或负面地分割。当你使用负数时,这意味着我们从右向左切分。
发布于 2013-09-02 10:31:31
如果您已经知道了指数:
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]请注意,我们将+1添加到末尾,以使范围包括在内.
https://stackoverflow.com/questions/18570740
复制相似问题