python - 在 python 中复制列表列表?

标签 python list duplicates

我需要能够在 python 中复制列表列表。

例如,现在我有一个返回列表的函数。

这总是列表中的列表。

例如:

 myList = [[1,2,3],[4,5,6],[7,8,9]]

现在我需要创建此列表的两个副本(myList1 和 myList2),每个副本都是单独可变的(例如,如果我编辑 myList1,则不会编辑 myList2)

我什么都试过了。

从简单的:

 myList1 = myList[:]
 myList2 = myList[:]

更复杂的:

 myList1 = []
 for ch in myList:
      myList1.append(ch)


 myList2 = []
 for ch in myList:
      myList2.append(ch)

没有任何作用。如果我更改一个列表中的值:

 myList1[0][0] = 10

两个列表变为:

 [[10,2,3],[4,5,6],[7,8,9]]

知道怎么做吗?

最佳答案

到目前为止,您尝试的所有操作都只会创建外部列表的浅拷贝。要创建深拷贝,请使用

copied_list = [x[:] for x in my_list]

使用列表理解或

copied_list = copy.deepcopy(my_list)

使用 copy.deepcopy()功能。

关于python - 在 python 中复制列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8100187/

相关文章:

python - 如何在大小为 `n` 次 `m` (n≠m) 的非方阵的 numpy 数组上使用 c 函数进行计算

python - JAX vmap 行为

Python 编程 : how to eval values from dictionary?

Python 比较列表与字典值

c# List.Exists 返回 true "false && true"

带有重复符号错误的 Objective-c 链接错误

java - 检测 JSON 对象列表中的重复条目

python - usecols 与 parse_dates 和名称

python - 将 NumPy 数组转换为列表时 float 不一致

python - 从字典中删除重复值而不删除键