Форум сайта python.su
PooH
Разуйте глаза,
lines = (line for line in open('/some/file')) splited_lines = (line.split() for line in lines)
splited_lines = (line.split() for line in open('/some/file'))
Офлайн
Что не годится? Разуйте глаза, там нет списков, там генераторы, список появляется в последний момент из уже отфильтрованных данных.Разул. Согласен.
Офлайн
Почему-то никто не вспомнил о yield.
Офлайн
ShamanУ тс список.
Почему-то никто не вспомнил о yield.
Офлайн
BudulianinНе понял. Какая разница?
У тс список.
def gen(arg): for line in arg: line_sp = line.split() if line_sp[2] == 'var1' and line_sp[3] == 'var2': yield line_sp[2:]
text = '''aaaa bbbb cccc dddd aaaa bbbb var1 var2'''.split('\n') # case 1 print [i for i in gen(text)] # case 2 for i in gen(text): print i
Отредактировано Shaman (Авг. 13, 2014 21:20:50)
Офлайн
Shaman
Не понял. Какая разница?
[i for i in gen(text)]
Офлайн
На таких yield генераторах вся стандартная библиотека зиждется.
Офлайн
ShamanИ ?
На таких yield генераторах вся стандартная библиотека зиждется.
Офлайн
Значит в них что-то есть.
Офлайн
Shaman:)
Значит в них что-то есть.
Офлайн