1

我正在写一些我经常弹出和附加的东西,并认为它适合使用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]

但这似乎很荒谬,将其重新变成列表只是为了对其进行切片。我错了吗?还是有其他方法?

4

1 回答 1

2

itertools.islice你可以做

deque(islice(d, 2))
于 2017-01-18T17:18:34.560 回答