Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 14, 2014 17:33:30

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Использования промежуточных значений в генераторах

Budulianin
Просто память экономят.
Не только. Ещё и параметризуют генерирующие алгоритмы.

Изначально речь шла об использовании промежуточных значений в генераторах. Так вот, только генераторы на yield позволяют использовать промежуточные значения.

Офлайн

#2 Авг. 14, 2014 17:51:34

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Использования промежуточных значений в генераторах

Shaman
параметризуют генерирующие алгоритмы.

Ты имеешь в виду, задание параметров, на место которых потом аргументы различные передавать можно?
Как например в твой gen можно передать любой итератор со строками и gen всё равно будет работать так же.

Shaman
Изначально речь шла об использовании промежуточных значений в генераторах
в list comprehension и там этого делать нельзя.



Офлайн

#3 Авг. 14, 2014 23:11:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9879
Репутация: +  853  -
Профиль   Отправить e-mail  

Использования промежуточных значений в генераторах

PooH
У вас уже в первой строке создается список

Во втором питоне итераторный map() был в библиотеке.

from itertools import imap



Отредактировано py.user.next (Авг. 14, 2014 23:11:27)

Офлайн

#4 Авг. 15, 2014 07:42:35

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Использования промежуточных значений в генераторах

А если бы ТС написал

data = list(line.split()[2:] for line in open('/some/file') if line.split()[2] == 'var1' and line.split()[3] == 'var2')
?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version