如何将双端队列一分为二
How to split a deque in two
我正在写一些我经常弹出和附加的东西,我认为使用 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]
但是把它变回一个列表只是为了分割它似乎很荒谬。我错了吗?或者有别的办法吗?
有了itertools.islice
,你可以做到
deque(islice(d, 2))
我正在写一些我经常弹出和附加的东西,我认为使用 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]
但是把它变回一个列表只是为了分割它似乎很荒谬。我错了吗?或者有别的办法吗?
有了itertools.islice
,你可以做到
deque(islice(d, 2))