You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从嵌套列表副本删除元素导致原列表同步修改,如何解决?

解决嵌套列表拷贝后同步修改的问题

问题出在brothers.copy()是浅拷贝——它只复制了外层列表的容器,里面的每个子列表还是和原列表brothers共用同一个内存引用。所以你修改temp[0]里的元素时,本质上是在修改原列表里的那个子列表对象,自然会影响到brothers。

要让temp完全独立,有两种简单的修改方式:

方式一:使用深拷贝

借助copy模块的deepcopy方法,它会递归复制所有嵌套的子对象,生成一个完全独立的新列表:

import copy
temp = copy.deepcopy(brothers)
temp[0].remove(temp[0][0])

方式二:手动复制每个子列表

因为你的子列表都是一维的,直接遍历原列表,逐个复制子列表即可:

# 用子列表的copy方法
temp = [sublist.copy() for sublist in brothers]
# 或者用切片语法,效果一样
# temp = [sublist[:] for sublist in brothers]
temp[0].remove(temp[0][0])

这两种方法都能保证修改temp时,原列表brothers不会受到任何影响。

内容的提问来源于stack exchange,提问作者b0b75

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:27:34