From 83d8d8ece9cafd352cc96d6ec33ec893b61c6277 Mon Sep 17 00:00:00 2001 From: Stanley <46876382+slateny@users.noreply.github.com> Date: Sat, 25 Jun 2022 13:51:26 -0700 Subject: [PATCH] bpo-39971: Change examples to be runnable (GH-32172) (cherry picked from commit c57a1c76d71075b14f6524b4681f29a3f1e88cb2) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/howto/functional.rst | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/Doc/howto/functional.rst b/Doc/howto/functional.rst index 695b9b31a762bd..fb561a6a10b661 100644 --- a/Doc/howto/functional.rst +++ b/Doc/howto/functional.rst @@ -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 @@ -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 @@ -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 )
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: