使用del或pop()来简单地删除值是否正​​确?

时间:2018-12-30 04:27:47

标签: python python-3.x pop del

如果我想从python列表中删除一个值,使用del是否合适,或者即使它返回弹出的值,我也可以只使用pop()吗?

我知道它们的使用方式上的区别,我只想从列表中删除,是否应该对所有内容使用del而不是pop()

list = [1, 2, 3]
del list[0]

vs。

list = [1, 2, 3]
list.pop(0)

1 个答案:

答案 0 :(得分:1)

如果您不需要该值,则del更为正确,因为其他读者可以更轻松地推断出您的意图(即,您只想丢弃该值而不是将其用于其他用途)。

但是,出于我能想到的所有目的,它们将在您定义的方案中发挥相同的作用。 pop()很明显会返回该值,但是您将立即丢弃它。

del上使用pop()可能会带来非常小的性能/垃圾收集收益,但我只是在做假设,对此没有任何支持。我不确定del的实现,但是我可以想象潜在的实现会比pop()快得多,因为不需要返回删除的值。同样,在大多数情况下,这是极其微小且毫无意义的。