Форум сайта python.su
Как бы это покороче сделать аналог zip, но ленивый? В смысле, чтобы он не останавливался, когда кончается короткий итератор, а генерил None, как zip.
Офлайн
next_or_none = lambda a: next(a, None) def izip_large(*iterables): iterators = map(iter, iterables) while iterators: next_item = tuple(map(next_or_none, iterators)) if not any(next_item): return yield next_item for i in izip_large('ABCD', 'xy'): print i
Отредактировано s0rg (Апрель 3, 2012 23:52:46)
Офлайн
А чем родной zip_longest не устраивает?
Офлайн
Спасибо! Забыл, вот ведь.
Офлайн