Make code examples in Functional Programming HOWTO to be PEP 8 compliant. (GH-8646)

(cherry picked from commit db8707c8ab)

Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
This commit is contained in:
Miss Islington (bot) 2018-08-07 14:56:25 -07:00 committed by GitHub
parent fac49762c5
commit 292030354a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 23 deletions

View File

@ -198,7 +198,7 @@ for it.
You can experiment with the iteration interface manually:
>>> L = [1,2,3]
>>> L = [1, 2, 3]
>>> it = iter(L)
>>> it #doctest: +ELLIPSIS
<...iterator object at ...>
@ -229,7 +229,7 @@ iterator. These two statements are equivalent::
Iterators can be materialized as lists or tuples by using the :func:`list` or
:func:`tuple` constructor functions:
>>> L = [1,2,3]
>>> L = [1, 2, 3]
>>> iterator = iter(L)
>>> t = tuple(iterator)
>>> t
@ -238,10 +238,10 @@ Iterators can be materialized as lists or tuples by using the :func:`list` or
Sequence unpacking also supports iterators: if you know an iterator will return
N elements, you can unpack them into an N-tuple:
>>> L = [1,2,3]
>>> L = [1, 2, 3]
>>> iterator = iter(L)
>>> a,b,c = iterator
>>> a,b,c
>>> a, b, c = iterator
>>> a, b, c
(1, 2, 3)
Built-in functions such as :func:`max` and :func:`min` can take a single
@ -411,7 +411,7 @@ lengths of all the sequences. If you have two lists of length 3, the output
list is 9 elements long:
>>> seq1 = 'abc'
>>> seq2 = (1,2,3)
>>> seq2 = (1, 2, 3)
>>> [(x, y) for x in seq1 for y in seq2] #doctest: +NORMALIZE_WHITESPACE
[('a', 1), ('a', 2), ('a', 3),
('b', 1), ('b', 2), ('b', 3),
@ -479,7 +479,7 @@ Here's a sample usage of the ``generate_ints()`` generator:
File "stdin", line 2, in generate_ints
StopIteration
You could equally write ``for i in generate_ints(5)``, or ``a,b,c =
You could equally write ``for i in generate_ints(5)``, or ``a, b, c =
generate_ints(3)``.
Inside a generator function, ``return value`` causes ``StopIteration(value)``
@ -695,17 +695,17 @@ truth values of an iterable's contents. :func:`any` returns ``True`` if any ele
in the iterable is a true value, and :func:`all` returns ``True`` if all of the
elements are true values:
>>> any([0,1,0])
>>> any([0, 1, 0])
True
>>> any([0,0,0])
>>> any([0, 0, 0])
False
>>> any([1,1,1])
>>> any([1, 1, 1])
True
>>> all([0,1,0])
>>> all([0, 1, 0])
False
>>> all([0,0,0])
>>> all([0, 0, 0])
False
>>> all([1,1,1])
>>> all([1, 1, 1])
True
@ -764,7 +764,7 @@ which defaults to 0, and the interval between numbers, which defaults to 1::
a provided iterable and returns a new iterator that returns its elements from
first to last. The new iterator will repeat these elements infinitely. ::
itertools.cycle([1,2,3,4,5]) =>
itertools.cycle([1, 2, 3, 4, 5]) =>
1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
:func:`itertools.repeat(elem, [n]) <itertools.repeat>` returns the provided
@ -875,7 +875,7 @@ iterable's results. ::
iterators and returns only those elements of *data* for which the corresponding
element of *selectors* is true, stopping whenever either one is exhausted::
itertools.compress([1,2,3,4,5], [True, True, False, False, True]) =>
itertools.compress([1, 2, 3, 4, 5], [True, True, False, False, True]) =>
1, 2, 5
@ -1035,7 +1035,7 @@ first calculation. ::
Traceback (most recent call last):
...
TypeError: reduce() of empty sequence with no initial value
>>> functools.reduce(operator.mul, [1,2,3], 1)
>>> functools.reduce(operator.mul, [1, 2, 3], 1)
6
>>> functools.reduce(operator.mul, [], 1)
1
@ -1045,9 +1045,9 @@ elements of the iterable. This case is so common that there's a special
built-in called :func:`sum` to compute it:
>>> import functools, operator
>>> functools.reduce(operator.add, [1,2,3,4], 0)
>>> functools.reduce(operator.add, [1, 2, 3, 4], 0)
10
>>> sum([1,2,3,4])
>>> sum([1, 2, 3, 4])
10
>>> sum([])
0
@ -1057,11 +1057,11 @@ write the obvious :keyword:`for` loop::
import functools
# Instead of:
product = functools.reduce(operator.mul, [1,2,3], 1)
product = functools.reduce(operator.mul, [1, 2, 3], 1)
# You can write:
product = 1
for i in [1,2,3]:
for i in [1, 2, 3]:
product *= i
A related function is :func:`itertools.accumulate(iterable, func=operator.add)
@ -1069,10 +1069,10 @@ A related function is :func:`itertools.accumulate(iterable, func=operator.add)
returning only the final result, :func:`accumulate` returns an iterator that
also yields each partial result::
itertools.accumulate([1,2,3,4,5]) =>
itertools.accumulate([1, 2, 3, 4, 5]) =>
1, 3, 6, 10, 15
itertools.accumulate([1,2,3,4,5], operator.mul) =>
itertools.accumulate([1, 2, 3, 4, 5], operator.mul) =>
1, 2, 6, 24, 120
@ -1156,7 +1156,7 @@ But it would be best of all if I had simply used a ``for`` loop::
Or the :func:`sum` built-in and a generator expression::
total = sum(b for a,b in items)
total = sum(b for a, b in items)
Many uses of :func:`functools.reduce` are clearer when written as ``for`` loops.