当前位置: 首页 > 面试题库 >

Python-删除,删除和弹出列表之间的区别

姜泳
2023-03-14
问题内容

`>>> 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]
`

以上三种从列表中删除元素的方法之间有什么区别吗?


问题答案:

是的,remove删除第一个匹配值,而不是特定的索引:

>>> a = [0, 2, 3, 2]
>>> a.remove(2)
>>> a
[0, 3, 2]

del 删除特定索引处的项目:

>>> a = [3, 2, 2, 1]
>>> del a[1]
>>> a
[3, 2, 1]

并pop从特定索引处删除该项目并返回。

>>> a = [4, 3, 5]
>>> a.pop(1)
3
>>> a
[4, 5]

它们的错误模式也不同:

>>> a = [4, 5, 6]
>>> a.remove(7)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> del a[7]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> a.pop(7)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop index out of range


 类似资料:
  • 问题内容: 我正在使用Oracle数据库,但对Drop和Purge命令有些困惑。实际上,对于我来说,两者都做同样的事情。从数据库中删除带有模式的表。两者的主要区别是什么? 删除表表名; 删除表表名清除; 问题答案: 通常,如果表被删除,则将其移入回收站(从Oracle 10g开始)。但是,如果还指定了purge修饰符,则无法从数据库中删除(完全)删除该表。

  • 问题内容: 在报表汇总中,我构建了一些表。后来我根本不需要它们了。有人提到要截断它们,因为这样会更快。 问题答案: 从表中删除记录会记录每次删除,并为删除的记录执行删除触发器。截断是一种更强大的命令,可清空表而不记录每一行。由于需要检查每一行上的外键,因此SQL Server阻止您使用带有引用该表的外键的表来对其进行截断。 截断通常是超快的,非常适合清除临时表中的数据。它的确保留了表的结构以备将来

  • 问题内容: 我有一个文本很长的字符串,并在里面。我正在尝试删除括号和方括号之间的字符,但是我不知道该怎么做。 该列表与此类似: 该列表不是我正在使用的列表,但非常相似,但简短得多。 谢谢您的帮助。 问题答案: 这应该适用于parens。正则表达式会“消耗”匹配的文本,因此不适用于嵌套的括号。 否则这将找到一组parens …只需循环以查找更多

  • 问题内容: 如何摆脱列表项之间的空白?我正在努力使图像彼此相邻。即使我将样式设置为,它们仍然分开。 CSS HTML 问题答案: 2014年9月1日更新 在现代浏览器中,flex-box是执行此操作的首选方法。就像这样简单: 在这里查看JSFiddle 。 对于旧版浏览器的支持,请参考下面的其他选项,尽管稍微复杂一些,但它们仍然不错。 尽管每个其他答案至少提供了一个好的解决方案,但似乎没有一个提供

  • 问题内容: 如何删除表格中行和列之间的多余空间。 我尝试过更改表格以及tr和td的边距,填充和各种边框属性。 我希望所有图片都紧挨着看起来像一张大图片。 我该如何解决? CSS HTML 问题答案: 将此CSS重置添加到您的CSS代码中: 它将有效地重置CSS,摆脱填充和边距。

  • 要删除表的列,请在ALTER table语句中使用drop column子句,如下所示: 错误:“rs”行或其附近出现语法错误1:ALTER TABLE res_partner rs