dumping queue into list/array in python

deque, python, queue

Solution

You're done with the parallel part and just want to get the results in a list, is that it? Then try:

list(my_queue.queue)

Example:

from queue import Queue

q = Queue()
for i in range(5):
    q.put(i)

l = list(q.queue)
print(l)

Output:

[0, 1, 2, 3, 4]

Problem

I am running a number of threads and collecting there result on a queue. I would like to dump it into array or list so that I can do indexing and retrieve those results. Each of the elements in the queue is a array of dimension n. I would like to access those arrays. Would you please let me know, how would i do it? ``` def dump_queue(model_queue): queue_list = [] for i in iter(model_queue.get,'STOP'): queue_list.append(i) return queue_list aux_model=train_svm(np.array(trainExample),np.array(trainLabel)) model_queue.put(aux_model.coef_) ``` Thus the arrays are the learned model parameters of `svm`. model_queue is shared among the threads. I want to access each of the model parameters vectors not each of the entries of a model parameters.

Original source

Related problems