所以即时通讯尝试在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