Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在嵌套的内部存储交换的新数组_Python - Fatal编程技术网

Python 在嵌套的内部存储交换的新数组

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

如何将此交换的新数组存储在嵌套的中?循环结束后,此NEWstate与给定状态a[2,1,5,0]完全相同。我通过交换下一个元素来生成不同的状态。需要存储那些交换的状态

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[:]

请提供预期的副本。显示中间结果与预期结果的偏差。我们应该能够将单个代码块粘贴到文件中,运行它,并重现您的问题。这也让我们可以在您的上下文中测试任何建议。我们还希望您通过代码跟踪问题值,并询问有关问题点的特定问题。