【问题标题】:deque remove item by indexdeque 按索引删除项目
【发布时间】:2018-11-04 07:09:38
【问题描述】:

有没有办法通过索引删除双端队列中的项目?

dq = deque(['a','b','c'])
dq.removeByIndex(1) 
#output deque(['b', 'c'])

我只在文档中看到按值删除。另外,我知道我可以将它弹出i 次然后放回去,但它看起来并不漂亮。

deque

【问题讨论】:

  • 你可以使用del your_deque[index]

标签: python deque


【解决方案1】:

你可以试试这个:

from collections import deque
deq = deque([1, 2, 3, 4])

del deq[1]
print(deq)

输出:

deque([1, 3, 4])

【讨论】:

  • @Denly:没必要。 deques 被记录为 mutable sequences,并且 all 可变序列支持此行为(通过 __delitem__)。 deques 也被明确记录以支持下标操作(其中下标的del 只是又一个用例)。同样的事情也适用于可变映射(例如 dictdict 类似的东西)。
  • 复杂度是多少? O(n)O(1)
猜你喜欢
  • 1970-01-01
  • 2021-12-06
  • 2021-10-20
  • 2020-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多