11

私はdequeの使い方を学んでいました。これが私がしたことです:

>>> d = deque([1,2,3,4,5,6], maxlen=3)

d には [1,2,3] が含まれると予想していました。しかし、代わりに私は得ました:

>>> d
deque([4, 5, 6], maxlen=3)

これは直感に反していませんか?

4

4 に答える 4

1

ドキュメントから、まったくありません:

「左から右に初期化された新しい両端キュー オブジェクトを (append() を使用して) iterable からのデータで返します」

私は主に、最新のアイテムのバッファーとして deque オブジェクトを使用しました。たとえば、すべてのユーザーが最後に 100 回のアクションを実行したとします。

于 2013-11-01T08:48:09.567 に答える
1

設計上の決定です。最近の要素をキューに保持する方が実用的です。古いものは、反対側から飛び出しています。

于 2013-11-01T08:48:34.163 に答える