gpt4 book ai didi

有条件的 Python 循环

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:25 24 4
gpt4 key购买 nike

函数 f 将进行不必要的迭代。

def f(array):
for (i, row) in enumerate(array):
for (j, value) in enumerate(row):
if i < some_number and j > some_other_number:
do_something

是否有一种惯用的方法来在 for 循环中强制执行条件?

def f(array):
for (i < some_number, row) in enumerate(array):
for (j > some_other_number, value) in enumerate(row):
do_something

最佳答案

您可以使用 itertools.islice(iterable,start,stop[,step])为此:

<b>from itertools import islice</b>

def f(array):
for (i, row) in <b>islice(</b>enumerate(array)<b>,some_number)</b>:
for (j, value) in <b>islice(</b>enumerate(row)<b>,some_other_number+1,None)</b>:
# do_something
pass

鉴于您在计算中不需要 ij(您只需要它们进行边界检查,您甚至可以省略它们)。

from itertools import islice

def f(array):
for row in islice(array,some_number):
for value in islice(row,some_other_number+1,None):
# do_something
pass

关于有条件的 Python 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42377623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com