首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从for循环的第二个索引开始

如何从for循环的第二个索引开始
EN

Stack Overflow用户
提问于 2018-12-05 05:29:04
回答 5查看 66K关注 0票数 11

我有这个for-loop。我想

中的第二个数字开始

列表。你能给我指路吗?

代码语言:javascript
运行
复制
I=[0,1,2,3,4,5,6]
nI=len(I)
for i in range(nI):
    sum=0
    for v in range(nV):
        for j in range(nJ):
            sum=sum+x1[i][j][v]
return sum
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-01-01 13:05:08

首先要记住,python使用零索引。

除了使用range函数来获取所需项目的索引或切片来获取元素之外,您可以遍历列表。

我认为这里变得令人困惑的是,在您的示例中,值和索引是相同的,因此为了澄清,我将使用以下列表作为示例:

代码语言:javascript
运行
复制
I = ['a', 'b', 'c', 'd', 'e']
nI = len(I) # 5

range函数将允许您遍历索引:

代码语言:javascript
运行
复制
for i in range(1, nI):
    print(i)
# Prints:
# 1
# 2
# 3
# 4

如果您想使用range函数访问这些值,您应该这样做:

代码语言:javascript
运行
复制
for index in range(1, nI):
    i = I[index]
    print(i)
# Prints:
# b
# c
# d
# e

您也可以使用数组切片来实现这一点,而您甚至不需要

..。数组切片会返回一个包含切片的新数组。

切片已完成

其中所有三个参数都是可选的,并且:

是要包含在切片中的第一个索引。

是要从切片中排除的第一个元素的索引。

是每个下一个索引的步数,从(正如预期的)

(如果

是2,并从1开始,它得到每个奇数索引)。

示例:

代码语言:javascript
运行
复制
for i in I[1:]:
    print(i)
# Prints:
# b
# c
# d
# e
票数 10
EN

Stack Overflow用户

发布于 2020-09-07 18:13:38

您可以简单地使用切片:

代码语言:javascript
运行
复制
for item in I[1:]:
    print(item)

如果你想要索引,使用pythonic风格

代码语言:javascript
运行
复制
START = 1
for index, item in enumerate(I[START:], START):
    print(item, index)
票数 7
EN

Stack Overflow用户

发布于 2018-12-05 05:38:38

如果您想遍历第二个项中的列表,只需使用

(如果nI是列表的长度左右)。

代码语言:javascript
运行
复制
for i in range(1, nI):
    sum=0
    for v in range(nV):
        for j in range(nJ):
            sum=sum+x1[i][j][v]

也许,你的函数的一部分在某个地方丢失了,但不管怎样,在一般的range()中是这样工作的:

代码语言:javascript
运行
复制
range(start_from, stop_at, step_size)

即e。

代码语言:javascript
运行
复制
for i in range(2, 7, 2):
    print(i, end=' ')

Out:
2 4 6

编辑

请记住: python使用零索引,即第一个元素的索引为0,第二个元素的索引为-1,依此类推。

默认情况下,

从0开始,止于

传递的参数的值减一。

如果有一个显式的

开始

,迭代从它的值开始。如果有一个

步骤

,它继续,同时

返回值

小于

停止

价值。

代码语言:javascript
运行
复制
for i in range(1, 7, 2):
    print(i, end=' ')

Out: 
1 3 5  # there's no 7!

详细描述

内置is

这里

..。

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

https://stackoverflow.com/questions/53621696

复制
相关文章

相似问题

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