Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9e38641

Browse files
committed
Make the derived tools amendable to cut and paste.
1 parent 9bd308f commit 9e38641

1 file changed

Lines changed: 54 additions & 54 deletions

File tree

Doc/lib/libitertools.tex

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -328,59 +328,59 @@ \subsection{Examples \label{itertools-example}}
328328
from building blocks.
329329

330330
\begin{verbatim}
331-
>>> def enumerate(iterable):
332-
... return izip(count(), iterable)
333-
334-
>>> def tabulate(function):
335-
... "Return function(0), function(1), ..."
336-
... return imap(function, count())
337-
338-
>>> def iteritems(mapping):
339-
... return izip(mapping.iterkeys(), mapping.itervalues())
340-
341-
>>> def nth(iterable, n):
342-
... "Returns the nth item"
343-
... return list(islice(iterable, n, n+1))
344-
345-
>>> def all(pred, seq):
346-
... "Returns True if pred(x) is True for every element in the iterable"
347-
... return False not in imap(pred, seq)
348-
349-
>>> def some(pred, seq):
350-
... "Returns True if pred(x) is True at least one element in the iterable"
351-
... return True in imap(pred, seq)
352-
353-
>>> def no(pred, seq):
354-
... "Returns True if pred(x) is False for every element in the iterable"
355-
... return True not in imap(pred, seq)
356-
357-
>>> def quantify(pred, seq):
358-
... "Count how many times the predicate is True in the sequence"
359-
... return sum(imap(pred, seq))
360-
361-
>>> def padnone(seq):
362-
... "Returns the sequence elements and then returns None indefinitely"
363-
... return chain(seq, repeat(None))
364-
365-
>>> def ncycles(seq, n):
366-
... "Returns the sequence elements n times"
367-
... return chain(*repeat(seq, n))
368-
369-
>>> def dotproduct(vec1, vec2):
370-
... return sum(imap(operator.mul, vec1, vec2))
371-
372-
>>> def window(seq, n=2):
373-
... "Returns a sliding window (of width n) over data from the iterable"
374-
... " s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
375-
... it = iter(seq)
376-
... result = tuple(islice(it, n))
377-
... if len(result) == n:
378-
... yield result
379-
... for elem in it:
380-
... result = result[1:] + (elem,)
381-
... yield result
382-
383-
>>> def take(n, seq):
384-
... return list(islice(seq, n))
331+
def enumerate(iterable):
332+
return izip(count(), iterable)
333+
334+
def tabulate(function):
335+
"Return function(0), function(1), ..."
336+
return imap(function, count())
337+
338+
def iteritems(mapping):
339+
return izip(mapping.iterkeys(), mapping.itervalues())
340+
341+
def nth(iterable, n):
342+
"Returns the nth item"
343+
return list(islice(iterable, n, n+1))
344+
345+
def all(pred, seq):
346+
"Returns True if pred(x) is True for every element in the iterable"
347+
return False not in imap(pred, seq)
348+
349+
def some(pred, seq):
350+
"Returns True if pred(x) is True at least one element in the iterable"
351+
return True in imap(pred, seq)
352+
353+
def no(pred, seq):
354+
"Returns True if pred(x) is False for every element in the iterable"
355+
return True not in imap(pred, seq)
356+
357+
def quantify(pred, seq):
358+
"Count how many times the predicate is True in the sequence"
359+
return sum(imap(pred, seq))
360+
361+
def padnone(seq):
362+
"Returns the sequence elements and then returns None indefinitely"
363+
return chain(seq, repeat(None))
364+
365+
def ncycles(seq, n):
366+
"Returns the sequence elements n times"
367+
return chain(*repeat(seq, n))
368+
369+
def dotproduct(vec1, vec2):
370+
return sum(imap(operator.mul, vec1, vec2))
371+
372+
def window(seq, n=2):
373+
"Returns a sliding window (of width n) over data from the iterable"
374+
" s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
375+
it = iter(seq)
376+
result = tuple(islice(it, n))
377+
if len(result) == n:
378+
yield result
379+
for elem in it:
380+
result = result[1:] + (elem,)
381+
yield result
382+
383+
def take(n, seq):
384+
return list(islice(seq, n))
385385
386386
\end{verbatim}

0 commit comments

Comments
 (0)