我希望在我的双端队列中使用冒号运算符,但它似乎与列表的工作方式不同。
我正在尝试类似的东西:
myDeque = deque([0,1,2,3,4,5])
myDequeFunction(myDeque[3:])
这是我收到的错误:“TypeError:序列索引必须是整数,而不是'切片'”
用双端队列进行数组切片的最佳方法是什么?
由于双端队列的性质,迭代可能比蛮力方法更快(注意:未经证实)。
>>> myDeque = collections.deque([0,1,2,3,4,5])
>>> list(itertools.islice(myDeque, 3, sys.maxint))
[3, 4, 5]
deque
对象不支持对自身进行切片,但您可以创建一个新的双端队列:
sliced_deque = deque(list(old_deque)[3:])
collections.deque
对象不支持切片。做一个新的会更直接。
n_deque = deque(list(d)[3:])