57

Currently, I fetch "list" data from my storage, "deque" it to work with that data.

After processing the fetched data, I have to put them back into the storage. This won't be a problem as long as I am not forced to use Python's standard "list" object to save this data.

Storage Service: Google Appengine.

My work-around would be:

dequeObj = deque(myData)
my_list = list()
for obj in dequeObj:
    my_list.append(obj)

but this seems not very optimal.

2 Answers 2

121
>>> list(collections.deque((1, 2, 3)))
[1, 2, 3]
Sign up to request clarification or add additional context in comments.

1 Comment

nb. This works because a deque is iterable, and list() will make list from an iterable. (eg. list(range(5)))
2

Since deques are iterables, you can also unpack it inside a list.

dq = collections.deque([1, 2, 3])
lst = [*dq]
lst             # [1, 2, 3]

To create a new list object, you can even pack the deque into a variable as well.

*lst, = dq
lst             # [1, 2, 3]

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.