Python 在嵌套的内部存储交换的新数组
如何将此交换的新数组存储在嵌套的中?循环结束后,此NEWstate与给定状态a[2,1,5,0]完全相同。我通过交换下一个元素来生成不同的状态。需要存储那些交换的状态Python 在嵌套的内部存储交换的新数组,python,Python,如何将此交换的新数组存储在嵌套的中?循环结束后,此NEWstate与给定状态a[2,1,5,0]完全相同。我通过交换下一个元素来生成不同的状态。需要存储那些交换的状态 def genrState(alist): NEW=[] print("Current state ", alist) i=0 for x in alist: print("for", x, "index i
def genrState(alist):
NEW=[]
print("Current state ", alist)
i=0
for x in alist:
print("for", x, "index is ", i)
j=i
for y in alist[i+1:]:
if i < 10:
alist[i] , alist[j+1] = alist[j+1], alist[i]
print("generated", alist)
NEWstate = alist
print("NEW INSIDE", NEWstate )
alist[i] , alist[j+1] = alist[j+1], alist[i]
j=j+1`enter code here`
i=i+1
print("NEW", NEWstate )
print(alist)
a=[2,1,5,0]
genrState(a)
def genrState(列表):
新=[]
打印(“当前状态”,列表)
i=0
对于列表中的x:
打印(“对于”,x,“索引为”,i)
j=i
对于列表中的y[i+1:]:
如果i<10:
alist[i],alist[j+1]=alist[j+1],alist[i]
打印(“生成”,列表)
新闻国家
打印(“新内部”,NEWstate)
alist[i],alist[j+1]=alist[j+1],alist[i]
j=j+1`在此处输入代码`
i=i+1
打印(“新”,NEWstate)
打印(列表)
a=[2,1,5,0]
genrState(a)
当您分配NEWstate=alist
时,实际上是分配引用。这两个变量引用内存中的相同列表。如果要创建列表的副本,请使用NEWstate=alist[:]
请提供预期的副本。显示中间结果与预期结果的偏差。我们应该能够将单个代码块粘贴到文件中,运行它,并重现您的问题。这也让我们可以在您的上下文中测试任何建议。我们还希望您通过代码跟踪问题值,并询问有关问题点的特定问题。