Since I was looking for an answer to this question while using queue.Queue , I thought I should share my findings. It is possible to convert a list into a queue using queue.queue .

import queue l = [i for i in range(1000)] q = queue.Queue() [q.put(i) for i in l] q2 = queue.Queue() q2.queue = queue.deque(l)

After this code has been run, q and q2 are two different queues that contain the exact same entries, but with the second method being >300 times faster on my machine.

Not related to the question, but the opposite can be done by l = list(q.queue) if q is an instance of queue.Queue . Hope this saves you some trouble!

This was all tested in python 3.5.2.