所以即時通訊嘗試在python中實現選擇排序..和即時追加每個迭代的結果到列表打印結束..我的代碼正確排序數字列表,但當我將它追加到同一個列表在結束它改變所有其他列表..python列表,附加列表的東西改變了整個事情?
def s_sort(numbers):
alist=[]
#do actual sorting here and swap numbers/index if neccessary
alist.append(numbers)
return alist
def main():
numbers=[5,7,3]
print(s_sort(numbers))
main()
返回ALIST是[[3,5,7],[3,5,7]]而非[[3,7,5],[3, 5,7]] !!!! 不知怎的,當我做alist的追加,alist的內容變化爲這兩個列表!
您沒有兩個列表的列表,您有同一列表的兩個副本的列表。既然你已經給了我們一段不運行的代碼,並且不會返回你所說的如果修復運行,它很難解釋爲什麼你的實際代碼會這樣做。 – abarnert
你應該看到python – Vipul