[英]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.