0. 筆者環境
Windows 10 64bit
Python 3.6.7 64bit
1. 問題点・実例
dequeを使用した際に、listのようにsliceで値を取得しようとしたらslice自体使えない模様。
末尾からx個の値を取得したい等、必要な時はあると思われるため、下記にまとめた。
2. 対処法
itertoolsのisliceを用いる方法
import collections
import itertools
# dequeに1-1000の値を格納
dq = collections.deque(range(1000))
# yにdqの900-1000個の値を格納
y = list(itertools.islice(dq, 900, 1000))
リスト内包表記を用いる方法
import collections
import itertools
# dequeに1-1000の値を格納
dq = collections.deque(range(1000))
# yにdqの900-1000個の値を格納
y = [dq[i] for i in range(900, 1000)]
どっちが早いかは場合によって変わるため、計測しながら使う。