Два различных списка от генератора кортежа

У меня есть генератор, который приводит ко мне кортеж и функция, которая собирает информацию от генератора и создает два отдельных списка:

labels = []
dataset = []
for data, label in list_data(folder):
    dataset.append(data)
    labels.append(label)
return dataset, labels

Я не уверен, если я не сверхразработка здесь, но такое чувство, что это не большая часть pythonic способа решить его. Я попробовал некоторые идеи пониманием списка, но оно всегда приводило к синтаксическим ошибкам.

Или возможно действительно ли это - лучшее решение, поскольку это гарантирует удобочитаемость?

-2
задан 16 February 2018 в 17:06

1 ответ

Да, существует больше метода Pythonic выполнения этого точного взаимодействия: zip

dataset, labels = zip(*list_data(folder))

Звезда (*) важно для сообщения zip разархивировать кортежи данных. В Вашей функции затем, любой возврат просто zip(*list_data(folder)) (никакая потребность в для цикла или временных переменных, или просто используют встроенный без потребности в функции.

Для дальнейшего использования обратите внимание, что это было большим количеством вопроса о программировании, и таким образом вероятно, лучше спросил относительно stackoverflow.com.

1
ответ дан 31 October 2019 в 00:14

Другие вопросы по тегам:

Похожие вопросы: