python - 如何仅从新列表中删除元素
问题描述
假设我有一个列表l
,我temp
从l
. 当我尝试从中删除元素时temp
,也会从中删除元素l
。这太奇怪了。我怎样才能只删除元素temp
?
l = [1,2,3]
temp = l
temp.remove(3)
print(l, temp)
Output: ([1, 2], [1, 2])
解决方案
实际上两者l
和都是在内存temp
中引用同一个对象的名称。list
当你对它们中的任何一个做某事时,你就是在对这两个名称指向的底层对象列表进行操作。您始终可以使用 copy 方法创建新对象:
temp = l.copy()
这样,您将拥有两个指向不同对象的名称。
推荐阅读
- c# - ASP.NET MVC:当我按下编辑时,我的日历没有采用模型日期值
- typescript - 如何在 nuxt store 的 action 中接近 axios
- esp8266 - i2cdetect 没有显示任何地址
- flutter - 从 GetView 或 GetResponsiveView 导航后每次调用的构建方法
- html - 如何在打印布局和嵌入 html 文档时强制 MS Word 具有相同的布局?
- html - 结构化数据不适用于 CSS 选择器(在链接中添加斜杠和其他问题)。我该如何解决?
- pandas - 将股票图表的趋势线向右延伸
- backup - 如果没有备份,是否可以在远程 Mac 上从 Big Sur 降级到 Catalina?
- c# - C#模拟telerik ui类
- curl - 无法向 Plaid 发出 API 请求