繁体   English   中英

Python,如何将此迭代转换为 for 循环

[英]Python , how to convert this iterations into for loop

这是迭代

i = 0

s_array[i].append(f_array[i][i])
s_array[i].append(f_array[i+1][i])
s_array[i].append(f_array[i+2][i])

s_array[i+1].append(f_array[i][i+1])
s_array[i+1].append(f_array[i+1][i+1])

s_array[i+2].append(f_array[i][i+2])

我想将此迭代转换为 for 循环,例如这样

for i in range(something):
        for j in range(something):
                s_array[i].append(f_array[j][i])

我尝试了许多试验和错误,但没有得到任何解决方案

等效迭代:

for i in range(3):
    for j in range(3 - i):
        s_array[i].append(f_array[j][i])

例如:

for i in range(3):
    for j in range(3 - i):
        print(i,"-->", j, i)
    print("")

Output:

0 --> 0 0
0 --> 1 0
0 --> 2 0
1 --> 0 1
1 --> 1 1
2 --> 0 2

由于您正在尝试使用循环将 append 值转换为数组,因此您可以按照您的指示尝试嵌套 for 循环。 此外,由于您在迭代继续时附加的值较少,因此您可以为循环中的 range() 函数之一实现负步长值,从而减少迭代次数。

尝试做这样的事情:

for i in range(3):
    for j in range(3-i):
        s_array[i].append(f_array[j][i])

希望这应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM