我正在写一些我经常弹出和追加的内容,并认为使用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]
但将它重新放入一个列表只是为了切片它似乎是荒谬的。我错了吗?或者还有另一种方式吗?
答案 0 :(得分:2)
使用itertools.islice
,您可以
deque(islice(d, 2))