首页 > 解决方案 > 修改列表以复制另一个列表而不复制原始列表

问题描述

我有一个程序是排序算法的实现

def myfunction(data):
    x = [sorted elements...]

输入

mylist = [elements...]
myfunction(mylist)
print(mylist)

该函数最终以列表 x 结束,其中包含已排序的相同元素,但它是 mylist 的副本。这意味着当程序运行时,返回的是 mylist,而不是 x。

如何更改 myfunction 中的 mylist 使其与 x 相同?当然有一种方法可以将 x 和 mylist 相互映射,然后迭代地改变 mylist 直到它匹配 x?

标签: pythonlist

解决方案


def myfunction(data):
    x = [sorted elements...]
    data[:] = x

这会data就地修改并将其设置为x包含的任何值。


推荐阅读