Skip to content

Commit

Permalink
bpo-39971: Change examples to be runnable (GH-32172)
Browse files Browse the repository at this point in the history
  • Loading branch information
slateny authored Jun 25, 2022
1 parent bd3c1c1 commit c57a1c7
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions Doc/howto/functional.rst
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,15 @@ line of a file like this::
Sets can take their contents from an iterable and let you iterate over the set's
elements::

S = {2, 3, 5, 7, 11, 13}
for i in S:
print(i)
>>> S = {2, 3, 5, 7, 11, 13}
>>> for i in S:
... print(i)
2
3
5
7
11
13



Expand All @@ -335,18 +341,18 @@ List comprehensions and generator expressions (short form: "listcomps" and
functional programming language Haskell (https://www.haskell.org/). You can strip
all the whitespace from a stream of strings with the following code::

line_list = [' line 1\n', 'line 2 \n', ...]
>>> line_list = [' line 1\n', 'line 2 \n', ' \n', '']

# Generator expression -- returns iterator
stripped_iter = (line.strip() for line in line_list)
>>> # Generator expression -- returns iterator
>>> stripped_iter = (line.strip() for line in line_list)

# List comprehension -- returns list
stripped_list = [line.strip() for line in line_list]
>>> # List comprehension -- returns list
>>> stripped_list = [line.strip() for line in line_list]

You can select only certain elements by adding an ``"if"`` condition::

stripped_list = [line.strip() for line in line_list
if line != ""]
>>> stripped_list = [line.strip() for line in line_list
... if line != ""]

With a list comprehension, you get back a Python list; ``stripped_list`` is a
list containing the resulting lines, not an iterator. Generator expressions
Expand All @@ -363,7 +369,8 @@ have the form::
if condition1
for expr2 in sequence2
if condition2
for expr3 in sequence3 ...
for expr3 in sequence3
...
if condition3
for exprN in sequenceN
if conditionN )
Expand Down

0 comments on commit c57a1c7

Please sign in to comment.