这三种从列表中删除元素的方法有什么区别吗?
>>> a = [1, 2, 3]
>>> a.remove(2)
>>> a
[1, 3]
>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]
>>> a = [1, 2, 3]
>>> a.pop(1)
2
>>> a
[1, 3]
原文由 sachin irukula 发布,翻译遵循 CC BY-SA 4.0 许可协议
这三种从列表中删除元素的方法有什么区别吗?
>>> a = [1, 2, 3]
>>> a.remove(2)
>>> a
[1, 3]
>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]
>>> a = [1, 2, 3]
>>> a.pop(1)
2
>>> a
[1, 3]
原文由 sachin irukula 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 del
按索引删除元素, pop()
如果需要返回值则按索引删除它,以及 remove()
按值删除元素最后一个要求搜索列表,并引发 ValueError
如果列表中没有出现这样的值。
从 n
元素列表中删除索引 i
时,这些方法的计算复杂度为
del O(n - i)
pop O(n - i)
remove O(n)
原文由 Sven Marnach 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答869 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
从列表中删除元素的三种不同方法的效果:
remove
删除第 一个 匹配 _值_,而不是特定索引:del
删除特定索引处的项目:和
pop
删除特定索引处的项目并将其返回。它们的错误模式也不同: