LINUX.ORG.RU

python, генератор -> список


0

0

Пусть есть у меня функция f, которая возвращает генератор g.

Есть ли какой-то идиоматический способ сделать список из N значений g.next()?

Т.е. аналогичный такому:

[code] g = f(bar) x = [g.next() for i in xrange(100000)] [/code]

Кажется, должно быть что-то более удобное

 
g = f(bar) 
x = [g.next() for i in xrange(100000)] 
scabarocci
() автор топика
Ответ на: комментарий от anonymous

конечно, можно. Но я спрашивал про питон :)

scabarocci
() автор топика
Ответ на: комментарий от scabarocci

list(islice(g, 100000))

Причем здесь itertools?

$ python
Type "help", "copyright", "credits" or "license" for more information.
>>> list(xrange(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>   

anonymous
()
Ответ на: комментарий от anonymous

причем здесь xrange? Нужно взять N значений из генератора g.

scabarocci
() автор топика
Ответ на: комментарий от scabarocci

Т.е. только с itertools?

Чем плох itertools? Вполне себе идеоматичненько, нэ?

baverman ★★★
()
Ответ на: комментарий от scabarocci

хм, нет, с itertools — гораздо удобнее, все-таки

scabarocci
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.