首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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

Stack Overflow用户

发布于 2021-03-01 11:26:16

您应该避免使用内置的名称。如果确实需要,可以在末尾添加一个下划线,例如sum

_

,但这可能是一个提示,您应该使用内置的。

对于迭代变量,建议使用

除非你有理由给它起别的名字。

如果使用numpy数组,则可以使用for value遍历所有值

如果你把

在循环内部,那么它每次都会被重置到那个位置。

你可以使用itertools.product来“去嵌套”for循环,例如

代码语言:javascript
运行
复制
sum(x[i][j][v] for i, j, v in itertools.product(range(nI), range(nJ), range(nV))) 

为了减少多个for循环,Itertools有一个乘积函数,它提供了一个生成器,允许您将多个迭代器展平为一个可迭代的元组,这实际上与嵌套的for循环相同。唯一的区别是值的排序。

代码语言:javascript
运行
复制
from itertools import product

for x, y in product(range(3), range(4, 7)):
    print(x, y)
代码语言:javascript
运行
复制
0 4
0 5
0 6
1 4
1 5
1 6
2 4
2 5
2 6

[Program finished]
票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53621696

复制
相关文章

相似问题

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