0

Преобразование объекта deque в список

44

У меня есть проблема с обработкой данных в Python. В настоящее время я получаю данные в виде "списка" из своего хранилища и помещаю их в "деки" для работы с ними.

После обработки полученных данных мне нужно вернуть их обратно в хранилище. Это не будет проблемой, если я не буду вынужден использовать стандартный объект "list" в Python для сохранения этих данных.

Я использую хранилище Google Appengine.

Мой обходной путь выглядит следующим образом:

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

Однако этот способ не кажется мне оптимальным. Есть ли более эффективные решения для этой задачи?

2 ответ(ов)

1

В Python, если вы хотите преобразовать collections.deque в список, вы можете использовать функцию list(). Она может принимать итерируемые объекты в качестве аргумента, и deque является одним из них. Вот пример:

from collections import deque

# Создаем deque с элементами
my_deque = deque((1, 2, 3))

# Преобразуем deque в список
my_list = list(my_deque)

print(my_list)  # Вывод: [1, 2, 3]

В результате вызова list(my_deque) вы получите список, содержащий те же элементы, что и в deque.

0

Вы правы, что дек (deque) является итерируемым объектом, поэтому его можно распаковать в список. Вот пример:

import collections

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

Кроме того, вы можете создать новый список, упаковывая дек в переменную. Пример:

*d, = dq
print(d)  # [1, 2, 3]

Оба метода позволяют получить список из элементов дека.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь