从Python列表中删除最后一个匹配值

范先生

假设我有一个清单[1, 2, 3, 4, 2, 5]由于2发生了两次,因此我想删除最后一次出现的两次。到目前为止,这是我所做的。

list.reverse()
list.remove(value) # value = 2
list.reverse()

但似乎如果我为删除一个值而进行两次反转,则算法复杂度将为O(n)有没有更快的方法呢?

瑜伽士
if value in list:
    list.reverse()
    list.remove('ch')
    list.reverse()

最pythonic的方式将是try: except周围删除:

list.reverse()
try:
    list.remove(value)
except:
    pass
list.reverse()

按照速度您的意见,这两种方法都是O(N),因为x in listlist.reverse()都是O(N),所以它们之间没有太多。如果期望元素通常存在,则可以x in list使用try:catch保存检查,但是,如果期望元素通常不存在,则可以reverse()通过首先检查成员资格来保存2 s。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python:从列表中获取最后一个匹配的字典

如何从python打印列表中删除/删除最后一个字符

Python-如何删除列表列表中的最后一个元素?

Python:从列表列表中删除最后一个元素?

根据列表的最后一个值和第一个值在 python 中附加嵌套列表

从列表列表的最后两个列表中删除最后一个元素

根据另一个列表中的匹配从python列表中删除元素

Python:将一个列表中的值匹配到另一个列表中的值序列

如何在 Python 中删除列表的最后一个元素中的字符?

如何删除列表中的最后一个奇数

如何删除标签列表中的最后一个逗号?

删除列表中的最后一个孩子

从DynamoDB中删除最后一个列表项?

从单链列表中删除最后一个节点

从 python 列表中删除重复项,以便保留最后一个实例

如何在python中删除编号列表的最后一个元素的尾随换行符?

从输入值中删除最后一个单词

从最后一个数组值中删除逗号

用Python中的最后一个已知值在列表中填充NA

删除列表的最后一个元素

Python:列表迭代仅返回最后一个值

检查值列表是否在另一个嵌套列表python中,并返回匹配项

从列表中获取最后一个None值的Python方法是什么

Python For循环仅将最后一个值附加到列表中

是否可以在python中将值插入到列表的最后一个索引中?

如何拆分列表并获取python中的最后一个值

在Python列表中查找某个值的第一个和最后一个索引

从列表中删除Vue组件总是删除列表中的最后一个元素

根据其他列值从数据框列中的列表中删除最后一个元素