December 2018
Beginner to intermediate
796 pages
19h 54m
English
Now that we are familiar with all types of comprehensions and generator expression, let's talk about name localization within them. Python 3.* localizes loop variables in all four forms of comprehensions: list, dict, set, and generator expressions. This behavior is therefore different from that of the for loop. Let's see a simple example to show all the cases:
# scopes.pyA = 100ex1 = [A for A in range(5)]print(A) # prints: 100ex2 = list(A for A in range(5))print(A) # prints: 100ex3 = dict((A, 2 * A) for A in range(5))print(A) # prints: 100ex4 = set(A for A in range(5))print(A) # prints: 100s = 0for A in range(5): s += Aprint(A) # prints: 4
In the preceding code, we declare a global name, A = 100, and then we exercise the ...
Read now
Unlock full access