gpt4 book ai didi

python - 在 Python 中删除列表的第一个元素

转载 作者:太空狗 更新时间:2023-10-29 21:38:53 35 4
gpt4 key购买 nike

我知道,如果我希望在 Python 中删除列表 t仅第一个元素,我可以这样做:

del t[0]

这很简单。然而:

t = t[1:]

也有效。在我从中学习的教科书中说,使用后一种方法通常被认为是不好的做法,因为它不会删除列表的头部本身但是

“切片运算符创建了一个新列表,并且赋值使 t 引用它,但这些都不是对作为参数传递的列表有任何影响。”

为什么这样不好?你能举出一个这样的方法会显着改变功能的例子吗?提前致谢。

最佳答案

这不是一个好主意有多种原因:

  • 创建一个新列表只会使创建新列表和释放旧列表的不必要的工作。在这两个步骤之间,使用了两倍的内存(因为原始列表和新列表同时存在,就在分配之前)。

  • 如果其他内容引用同一个列表,则不会更新:u = t; del t[0]改变 ut。但是u = t; t = t[1:]将新列表分配给 t,同时保持 u 不变。

  • 最后,del t[0]比更不透明的 t = t[1:] 更清楚其删除元素的意图.

关于python - 在 Python 中删除列表的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43025748/

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