gpt4 book ai didi

Python:在不影响原始列表的情况下交换复制列表中的列表元素

转载 作者:行者123 更新时间:2023-11-28 16:50:52 25 4
gpt4 key购买 nike

我有一个列表 a 和一个列表 b,它(应该是)列表 a 的副本。

a = [[['a'], ['b'], ['c']], [['A'], ['B'], ['C']]]
b = a[:][:]
b[0][1], b[0][2] = b[0][2], b[0][1]

如果我现在查看 ab,我会得到以下信息:

a = [[['a'], ['c'], ['b']], [['A'], ['B'], ['C']]]
b = [[['a'], ['c'], ['b']], [['A'], ['B'], ['C']]]

为什么列表 b 中的交换也会影响原始列表 a

谢谢。

最佳答案

b = a[:][:] 只是 b = (a[:])[:] 或原始列表副本的副本。原始列表中的列表仍然被引用,当您更改它们时,它会显示在两个列表中。

你可以做到

b = [l[:] for l in a] # a new list, consisting of copies each sublist

from copy import deepcopy
b = deepcopy(a)

关于Python:在不影响原始列表的情况下交换复制列表中的列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com