如何拆分两个双端队列

时间:2017-01-18 17:13:04

标签: python deque python-collections

我正在写一些我经常弹出和追加的内容,并认为使用deque是合适的。但是,在我的代码中的某处,我需要将deque分成两部分。

考虑deque d

from collections import deque

d = deque(range(4))

我想以这种方式分割deque

d[:2]

但是我收到了错误

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-29-cb523bbbf363> in <module>()
      3 d = deque(range(4))
      4 
----> 5 d[:2]

TypeError: sequence index must be integer, not 'slice'

我能做到

list(d)[:2]

[0, 1]

但将它重新放入一个列表只是为了切片它似乎是荒谬的。我错了吗?或者还有另一种方式吗?

1 个答案:

答案 0 :(得分:2)

使用itertools.islice,您可以

deque(islice(d, 2))