首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据索引范围将列表拆分为子列表。

根据索引范围将列表拆分为子列表。
EN

Stack Overflow用户
提问于 2013-09-02 10:15:47
回答 8查看 168.2K关注 0票数 32

如何根据索引范围将列表拆分为子列表?

例如,原始清单:

代码语言:javascript
运行
复制
list1 = [x,y,z,a,b,c,d,e,f,g]

使用索引范围0-4:

代码语言:javascript
运行
复制
list1a = [x,y,z,a,b]

使用索引范围5-9:

代码语言:javascript
运行
复制
list1b = [c,d,e,f,g]

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

还需要划分成可变数量的子列表,即:

代码语言:javascript
运行
复制
list1a
list1b
.
.
list1[x]
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-09-02 10:33:32

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

代码语言:javascript
运行
复制
l = ['a',' b',' c',' d',' e']
c_index = l.index("c")
l2 = l[:c_index]

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

票数 18
EN

Stack Overflow用户

发布于 2013-09-02 10:20:06

在蟒蛇里,这叫做切片。下面是python's slice notation的一个示例

代码语言:javascript
运行
复制
>>> 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']

请注意,您如何可以正面或负面地分割。当你使用负数时,这意味着我们从右向左切分。

票数 22
EN

Stack Overflow用户

发布于 2013-09-02 10:31:31

如果您已经知道了指数:

代码语言:javascript
运行
复制
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添加到末尾,以使范围包括在内.

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18570740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档