В оболочке Python, если я ввел понимание списка, например:
>>> [x for x in string.letters if x in [y for y in "BigMan on campus"]]
Я получаю красиво напечатанный результат:
['a', 'c', 'g', 'i', 'm', 'n', 'o', 'p', 's', 'u', 'B', 'M']
То же самое для понимания словаря:
>>> {x:x*2 for x in range(1,10)}
{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
Если я ввожу выражение генератора, я получаю не такой дружеский ответ:
>>> (x for x in string.letters if x in (y for y in "BigMan on campus"))
<generator object <genexpr> at 0x1004a0be0>
Я знаю, что могу это сделать:
>>> for i in _: print i,
a c g i m n o p s u B M
Помимо этого (или написания вспомогательной функции) я могу легко оценить и распечатать этот объект-генератор в интерактивной оболочке?