From bf39a9bad607620e108c9cbc8cfd0ab0a428b68a Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Mon, 11 Jan 2016 16:23:52 -0800 Subject: [PATCH] Add segment --- dotfiles/lib/python/segment.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 dotfiles/lib/python/segment.py diff --git a/dotfiles/lib/python/segment.py b/dotfiles/lib/python/segment.py new file mode 100644 index 00000000..c403f482 --- /dev/null +++ b/dotfiles/lib/python/segment.py @@ -0,0 +1,13 @@ +def segment(iterable, segment_length): + if segment_length is None: + yield iterable + raise StopIteration + + def yield_length(): + for _ in xrange(segment_length): + yield iterable.next() + while True: + segment = list(yield_length()) + if not segment: + raise StopIteration + yield segment