diff -r d9c98730e2e8 Doc/library/itertools.rst --- a/Doc/library/itertools.rst Sat Jul 07 13:34:50 2012 +1000 +++ b/Doc/library/itertools.rst Sat Jul 07 10:45:29 2012 +0100 @@ -419,7 +419,10 @@ # islice('ABCDEFG', 2, None) --> C D E F G # islice('ABCDEFG', 0, None, 2) --> A C E G s = slice(*args) - it = iter(range(s.start or 0, s.stop or sys.maxsize, s.step or 1)) + start = 0 if s.start is None else s.start + stop = sys.maxsize if s.stop is None else s.stop + step = 1 if s.step is None else s.step + it = iter(range(start, stop, step)) nexti = next(it) for i, element in enumerate(iterable): if i == nexti: