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