在数组中存储for循环的结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在数组中存储for循环的结果相关的知识,希望对你有一定的参考价值。
我试图在python中的列表中保存嵌套for循环的结果。谁能告诉我怎么做? V是包含[1,2,3]的数组,而n是长度= 3,sq是包含交换的矩阵。
我已经尝试了很多方法,但每当我返回结果时它只给我一个列表元素。任何帮助,将不胜感激。谢谢
def Permute1(sq,v,n):
for i in range(n):
for j in range(n):
if (sq[i,j]==1):
temp=v[i]
v[i]=v[j]
v[j]=temp
print(v)
results:
[1, 2, 3]
[2, 1, 3]
[3, 1, 2]
[3, 1, 2]
[3, 2, 1]
[3, 2, 1]
答案
我不确定d = v
here的效用是什么。
要在Python中交换两个元素,我建议:
v[i], v[j] = v[j], v[i]
在for循环之前声明一个空列表并附加值(如AkshayNevrekar所说)也可能很有用,具体取决于您需要的结果。
另一答案
def Permute1(sq,v,n):
result=[]
for i in range(n):
for j in range(n):
if (sq[i,j]==1):
temp=v[i]
v[i]=v[j]
v[j]=temp
result += [v]
print(result)
return result
没有经过测试,但可能会有所帮助。
另一答案
检查yield
。您可以使用它来生成所有排列并处理它们中的每一个并将它们存储在列表中。
以上是关于在数组中存储for循环的结果的主要内容,如果未能解决你的问题,请参考以下文章