2 %
\93\8c\8b\9e ReportLab Generated PDF document http://www.reportlab.com
5 /F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 5 0 R /F5 7 0 R
10 /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
15 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
20 /BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
25 /BaseFont /Courier-Bold /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
30 /Contents 16 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 15 0 R /Resources <<
31 /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
32 >> /Rotate 0 /Trans <<
40 /BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
45 /Contents 17 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 15 0 R /Resources <<
46 /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
47 >> /Rotate 0 /Trans <<
55 /Outlines 11 0 R /PageLabels 18 0 R /PageMode /UseNone /Pages 15 0 R /Type /Catalog
60 /Author () /CreationDate (D:20190524140358+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20190524140358+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
61 /Subject (\(unspecified\)) /Title () /Trapped /False
66 /Count 3 /First 12 0 R /Last 14 0 R /Type /Outlines
71 /Dest [ 6 0 R /XYZ 62.69291 765.0236 0 ] /Next 13 0 R /Parent 11 0 R /Title (List Comprehensions)
76 /Dest [ 6 0 R /XYZ 62.69291 369.2236 0 ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (Dictionary Comprehensions)
81 /Dest [ 6 0 R /XYZ 62.69291 193.0236 0 ] /Parent 11 0 R /Prev 13 0 R /Title (Generators)
86 /Count 2 /Kids [ 6 0 R 8 0 R ] /Type /Pages
94 1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
96 1 0 0 1 62.69291 744.0236 cm
98 BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (List Comprehensions) Tj T* ET
102 1 0 0 1 62.69291 714.0236 cm
105 BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL .641235 Tw (List comprehensions are declarative ways of defining lists in python. The following ways of building a list) Tj T* 0 Tw (are equivalent:) Tj T* ET
109 1 0 0 1 62.69291 632.8236 cm
116 .662745 .662745 .662745 RG
118 .960784 .960784 .862745 rg
119 n -6 -6 468.6898 72 re B*
122 .960784 .960784 .862745 rg
124 .960784 .960784 .862745 rg
126 .960784 .960784 .862745 rg
128 .960784 .960784 .862745 rg
130 .960784 .960784 .862745 rg
132 .960784 .960784 .862745 rg
134 .960784 .960784 .862745 rg
136 .960784 .960784 .862745 rg
138 .960784 .960784 .862745 rg
140 .960784 .960784 .862745 rg
142 .960784 .960784 .862745 rg
144 .960784 .960784 .862745 rg
146 .960784 .960784 .862745 rg
148 .960784 .960784 .862745 rg
150 .960784 .960784 .862745 rg
152 .960784 .960784 .862745 rg
154 .960784 .960784 .862745 rg
156 .960784 .960784 .862745 rg
158 .960784 .960784 .862745 rg
160 .960784 .960784 .862745 rg
162 .960784 .960784 .862745 rg
164 .960784 .960784 .862745 rg
166 .960784 .960784 .862745 rg
168 .960784 .960784 .862745 rg
170 .960784 .960784 .862745 rg
172 .960784 .960784 .862745 rg
174 .960784 .960784 .862745 rg
176 .960784 .960784 .862745 rg
178 .960784 .960784 .862745 rg
180 .960784 .960784 .862745 rg
182 .960784 .960784 .862745 rg
184 .960784 .960784 .862745 rg
186 .960784 .960784 .862745 rg
188 .960784 .960784 .862745 rg
190 .960784 .960784 .862745 rg
192 BT 1 0 0 1 0 50 Tm 12 TL /F3 10 Tf 0 0 0 rg (l) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([) Tj 0 0 0 rg (x) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\)]) Tj 0 0 0 rg T* T* 0 0 0 rg (l) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([]) Tj 0 0 0 rg T* /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (l) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (append) Tj 0 0 0 rg (\() Tj 0 0 0 rg (x) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg (\)) Tj T* ET
199 1 0 0 1 62.69291 539.6236 cm
206 .662745 .662745 .662745 RG
208 .960784 .960784 .862745 rg
209 n -6 -6 468.6898 84 re B*
212 .960784 .960784 .862745 rg
214 .960784 .960784 .862745 rg
216 .960784 .960784 .862745 rg
218 .960784 .960784 .862745 rg
220 .960784 .960784 .862745 rg
222 .960784 .960784 .862745 rg
224 .960784 .960784 .862745 rg
226 .960784 .960784 .862745 rg
228 .960784 .960784 .862745 rg
230 .960784 .960784 .862745 rg
232 .960784 .960784 .862745 rg
234 .960784 .960784 .862745 rg
236 .960784 .960784 .862745 rg
238 .960784 .960784 .862745 rg
240 .960784 .960784 .862745 rg
242 .960784 .960784 .862745 rg
244 .960784 .960784 .862745 rg
246 .960784 .960784 .862745 rg
248 .960784 .960784 .862745 rg
250 .960784 .960784 .862745 rg
252 .960784 .960784 .862745 rg
254 .960784 .960784 .862745 rg
256 .960784 .960784 .862745 rg
258 .960784 .960784 .862745 rg
260 .960784 .960784 .862745 rg
262 .960784 .960784 .862745 rg
264 .960784 .960784 .862745 rg
266 .960784 .960784 .862745 rg
268 .960784 .960784 .862745 rg
270 .960784 .960784 .862745 rg
272 .960784 .960784 .862745 rg
274 .960784 .960784 .862745 rg
276 .960784 .960784 .862745 rg
278 .960784 .960784 .862745 rg
280 .960784 .960784 .862745 rg
282 .960784 .960784 .862745 rg
284 .960784 .960784 .862745 rg
286 .960784 .960784 .862745 rg
288 .960784 .960784 .862745 rg
290 .960784 .960784 .862745 rg
292 .960784 .960784 .862745 rg
294 .960784 .960784 .862745 rg
296 .960784 .960784 .862745 rg
298 .960784 .960784 .862745 rg
300 .960784 .960784 .862745 rg
302 BT 1 0 0 1 0 62 Tm 12 TL /F3 10 Tf 0 0 0 rg (m) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\)) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (%) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (==) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (]) Tj 0 0 0 rg T* T* 0 0 0 rg (m) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([]) Tj 0 0 0 rg T* /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (%) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (==) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (:) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (m) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (append) Tj 0 0 0 rg (\() Tj 0 0 0 rg (x) Tj 0 0 0 rg (\)) Tj T* ET
309 1 0 0 1 62.69291 434.4236 cm
316 .662745 .662745 .662745 RG
318 .960784 .960784 .862745 rg
319 n -6 -6 468.6898 96 re B*
322 .960784 .960784 .862745 rg
324 .960784 .960784 .862745 rg
326 .960784 .960784 .862745 rg
328 .960784 .960784 .862745 rg
330 .960784 .960784 .862745 rg
332 .960784 .960784 .862745 rg
334 .960784 .960784 .862745 rg
336 .960784 .960784 .862745 rg
338 .960784 .960784 .862745 rg
340 .960784 .960784 .862745 rg
342 .960784 .960784 .862745 rg
344 .960784 .960784 .862745 rg
346 .960784 .960784 .862745 rg
348 .960784 .960784 .862745 rg
350 .960784 .960784 .862745 rg
352 .960784 .960784 .862745 rg
354 .960784 .960784 .862745 rg
356 .960784 .960784 .862745 rg
358 .960784 .960784 .862745 rg
360 .960784 .960784 .862745 rg
362 .960784 .960784 .862745 rg
364 .960784 .960784 .862745 rg
366 .960784 .960784 .862745 rg
368 .960784 .960784 .862745 rg
370 .960784 .960784 .862745 rg
372 .960784 .960784 .862745 rg
374 .960784 .960784 .862745 rg
376 .960784 .960784 .862745 rg
378 .960784 .960784 .862745 rg
380 .960784 .960784 .862745 rg
382 .960784 .960784 .862745 rg
384 .960784 .960784 .862745 rg
386 .960784 .960784 .862745 rg
388 .960784 .960784 .862745 rg
390 .960784 .960784 .862745 rg
392 .960784 .960784 .862745 rg
394 .960784 .960784 .862745 rg
396 .960784 .960784 .862745 rg
398 .960784 .960784 .862745 rg
400 .960784 .960784 .862745 rg
402 .960784 .960784 .862745 rg
404 .960784 .960784 .862745 rg
406 .960784 .960784 .862745 rg
408 .960784 .960784 .862745 rg
410 .960784 .960784 .862745 rg
412 .960784 .960784 .862745 rg
414 .960784 .960784 .862745 rg
416 .960784 .960784 .862745 rg
418 .960784 .960784 .862745 rg
420 .960784 .960784 .862745 rg
422 .960784 .960784 .862745 rg
424 .960784 .960784 .862745 rg
426 .960784 .960784 .862745 rg
428 .960784 .960784 .862745 rg
430 .960784 .960784 .862745 rg
432 .960784 .960784 .862745 rg
434 .960784 .960784 .862745 rg
436 .960784 .960784 .862745 rg
438 .960784 .960784 .862745 rg
440 .960784 .960784 .862745 rg
442 .960784 .960784 .862745 rg
444 .960784 .960784 .862745 rg
446 .960784 .960784 .862745 rg
448 .960784 .960784 .862745 rg
450 BT 1 0 0 1 0 74 Tm 12 TL /F3 10 Tf 0 0 0 rg (n) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([\() Tj 0 0 0 rg (x) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg (\)) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\)) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\)) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (>) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg (]) Tj 0 0 0 rg T* T* 0 0 0 rg (n) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ([]) Tj 0 0 0 rg T* /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (>) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg (:) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (n) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (append) Tj 0 0 0 rg (\(\() Tj 0 0 0 rg (x) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg (\)\)) Tj T* ET
457 1 0 0 1 62.69291 414.4236 cm
460 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (The general form is:) Tj T* ET
464 1 0 0 1 62.69291 381.2236 cm
471 .662745 .662745 .662745 RG
473 .960784 .960784 .862745 rg
474 n -6 -6 468.6898 24 re B*
477 .960784 .960784 .862745 rg
479 .960784 .960784 .862745 rg
481 .960784 .960784 .862745 rg
483 .960784 .960784 .862745 rg
485 .960784 .960784 .862745 rg
487 .960784 .960784 .862745 rg
489 .960784 .960784 .862745 rg
491 .960784 .960784 .862745 rg
493 BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 0 rg ([) Tj 0 0 0 rg (expression) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (y) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (condition) Tj 0 0 0 rg (]) Tj T* ET
500 1 0 0 1 62.69291 348.2236 cm
502 BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Dictionary Comprehensions) Tj T* ET
506 1 0 0 1 62.69291 330.2236 cm
509 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Dictionary comprehensions are the analogous construct for dictionaries:) Tj T* ET
513 1 0 0 1 62.69291 237.0236 cm
520 .662745 .662745 .662745 RG
522 .960784 .960784 .862745 rg
523 n -6 -6 468.6898 84 re B*
526 .960784 .960784 .862745 rg
528 .960784 .960784 .862745 rg
530 .960784 .960784 .862745 rg
532 .960784 .960784 .862745 rg
534 .960784 .960784 .862745 rg
536 .960784 .960784 .862745 rg
538 .960784 .960784 .862745 rg
540 .960784 .960784 .862745 rg
542 .960784 .960784 .862745 rg
544 .960784 .960784 .862745 rg
546 .960784 .960784 .862745 rg
548 .960784 .960784 .862745 rg
550 .960784 .960784 .862745 rg
552 .960784 .960784 .862745 rg
554 .960784 .960784 .862745 rg
556 .960784 .960784 .862745 rg
558 .960784 .960784 .862745 rg
560 .960784 .960784 .862745 rg
562 .960784 .960784 .862745 rg
564 .960784 .960784 .862745 rg
566 .960784 .960784 .862745 rg
568 .960784 .960784 .862745 rg
570 .960784 .960784 .862745 rg
572 .960784 .960784 .862745 rg
574 .960784 .960784 .862745 rg
576 .960784 .960784 .862745 rg
578 .960784 .960784 .862745 rg
580 .960784 .960784 .862745 rg
582 .960784 .960784 .862745 rg
584 .960784 .960784 .862745 rg
586 .960784 .960784 .862745 rg
588 .960784 .960784 .862745 rg
590 .960784 .960784 .862745 rg
592 .960784 .960784 .862745 rg
594 .960784 .960784 .862745 rg
596 .960784 .960784 .862745 rg
598 .960784 .960784 .862745 rg
600 .960784 .960784 .862745 rg
602 .960784 .960784 .862745 rg
604 .960784 .960784 .862745 rg
606 .960784 .960784 .862745 rg
608 .960784 .960784 .862745 rg
610 .960784 .960784 .862745 rg
612 .960784 .960784 .862745 rg
614 .960784 .960784 .862745 rg
616 .960784 .960784 .862745 rg
618 .960784 .960784 .862745 rg
620 .960784 .960784 .862745 rg
622 .960784 .960784 .862745 rg
624 .960784 .960784 .862745 rg
626 .960784 .960784 .862745 rg
628 .960784 .960784 .862745 rg
630 .960784 .960784 .862745 rg
632 .960784 .960784 .862745 rg
634 .960784 .960784 .862745 rg
636 .960784 .960784 .862745 rg
638 .960784 .960784 .862745 rg
640 BT 1 0 0 1 0 62 Tm 12 TL /F3 10 Tf 0 0 0 rg (o) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ({) Tj 0 0 0 rg (x) Tj 0 0 0 rg (:) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (3) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (100) Tj 0 0 0 rg (\)) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (math) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (sqrt) Tj 0 0 0 rg (\() Tj 0 0 0 rg (x) Tj 0 0 0 rg (\)) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (is_integer) Tj 0 0 0 rg (\(\)}) Tj 0 0 0 rg T* T* 0 0 0 rg (o) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg ({}) Tj 0 0 0 rg T* /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (1) Tj 0 0 0 rg (,) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (100) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (math) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (sqrt) Tj 0 0 0 rg (\() Tj 0 0 0 rg (x) Tj 0 0 0 rg (\)) Tj .4 .4 .4 rg (.) Tj 0 0 0 rg (is_integer) Tj 0 0 0 rg (\(\):) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (o) Tj 0 0 0 rg ([) Tj 0 0 0 rg (x) Tj 0 0 0 rg (]) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (x) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (3) Tj T* ET
647 1 0 0 1 62.69291 205.0236 cm
650 BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL .227045 Tw (I have never used a dictionary comprehension outside of exercises. I don't know how useful they are, and) Tj T* 0 Tw (I'm struggling to think of good examples.) Tj T* ET
654 1 0 0 1 62.69291 172.0236 cm
656 BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Generators) Tj T* ET
660 1 0 0 1 62.69291 154.0236 cm
663 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (A generator is a function that yields values rather than returning them. For example:) Tj T* ET
667 1 0 0 1 62.69291 96.82362 cm
674 .662745 .662745 .662745 RG
676 .960784 .960784 .862745 rg
677 n -6 -6 468.6898 48 re B*
680 .960784 .960784 .862745 rg
682 .960784 .960784 .862745 rg
684 .960784 .960784 .862745 rg
686 .960784 .960784 .862745 rg
688 .960784 .960784 .862745 rg
690 .960784 .960784 .862745 rg
692 .960784 .960784 .862745 rg
694 .960784 .960784 .862745 rg
696 BT 1 0 0 1 0 26 Tm 12 TL /F4 10 Tf 0 .501961 0 rg (def) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 1 rg (squares) Tj 0 0 0 rg (\(\):) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (i) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (0) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (while) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (True) Tj 0 0 0 rg T* ET
710 1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
712 1 0 0 1 62.69291 727.8236 cm
719 .662745 .662745 .662745 RG
721 .960784 .960784 .862745 rg
722 n -6 -6 468.6898 36 re B*
725 .960784 .960784 .862745 rg
727 .960784 .960784 .862745 rg
729 .960784 .960784 .862745 rg
731 .960784 .960784 .862745 rg
733 .960784 .960784 .862745 rg
735 .960784 .960784 .862745 rg
737 .960784 .960784 .862745 rg
739 BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (yield) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (i) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (i) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (+=) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (1) Tj T* ET
746 1 0 0 1 62.69291 707.8236 cm
748 BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The built in ) Tj /F5 10 Tf 0 0 0 rg (range) Tj /F1 10 Tf 0 0 0 rg ( function is similar to a generator. Generators are iterable:) Tj T* ET
752 1 0 0 1 62.69291 638.6236 cm
759 .662745 .662745 .662745 RG
761 .960784 .960784 .862745 rg
762 n -6 -6 468.6898 60 re B*
765 .960784 .960784 .862745 rg
767 .960784 .960784 .862745 rg
769 .960784 .960784 .862745 rg
771 .960784 .960784 .862745 rg
773 .960784 .960784 .862745 rg
775 .960784 .960784 .862745 rg
777 .960784 .960784 .862745 rg
779 .960784 .960784 .862745 rg
781 .960784 .960784 .862745 rg
783 .960784 .960784 .862745 rg
785 .960784 .960784 .862745 rg
787 .960784 .960784 .862745 rg
789 .960784 .960784 .862745 rg
791 .960784 .960784 .862745 rg
793 .960784 .960784 .862745 rg
795 BT 1 0 0 1 0 38 Tm 12 TL /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (square) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (squares) Tj 0 0 0 rg (\(\):) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (print) Tj /F3 10 Tf 0 0 0 rg (\() Tj 0 0 0 rg (square) Tj 0 0 0 rg (\)) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (if) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (square) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (>) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (10000) Tj 0 0 0 rg (:) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (break) Tj T* ET
802 1 0 0 1 62.69291 618.6236 cm
805 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (But only once!) Tj T* ET
809 1 0 0 1 62.69291 600.6236 cm
812 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Generators can take arguments:) Tj T* ET
816 1 0 0 1 62.69291 519.4236 cm
823 .662745 .662745 .662745 RG
825 .960784 .960784 .862745 rg
826 n -6 -6 468.6898 72 re B*
829 .960784 .960784 .862745 rg
831 .960784 .960784 .862745 rg
833 .960784 .960784 .862745 rg
835 .960784 .960784 .862745 rg
837 .960784 .960784 .862745 rg
839 .960784 .960784 .862745 rg
841 .960784 .960784 .862745 rg
843 .960784 .960784 .862745 rg
845 .960784 .960784 .862745 rg
847 .960784 .960784 .862745 rg
849 .960784 .960784 .862745 rg
851 .960784 .960784 .862745 rg
853 .960784 .960784 .862745 rg
855 .960784 .960784 .862745 rg
857 .960784 .960784 .862745 rg
859 .960784 .960784 .862745 rg
861 .960784 .960784 .862745 rg
863 BT 1 0 0 1 0 50 Tm 12 TL /F4 10 Tf 0 .501961 0 rg (def) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 1 rg (exponents) Tj 0 0 0 rg (\() Tj 0 0 0 rg (exp) Tj 0 0 0 rg (\):) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (i) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (0) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (while) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (True) Tj 0 0 0 rg T* ( ) Tj /F4 10 Tf 0 .501961 0 rg (yield) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (i) Tj .4 .4 .4 rg (**) Tj 0 0 0 rg (exp) Tj 0 0 0 rg T* ( ) Tj 0 0 0 rg (i) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (+=) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (1) Tj T* ET
870 1 0 0 1 62.69291 499.4236 cm
873 BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Generator expressions are similar to list comprehensions:) Tj T* ET
877 1 0 0 1 62.69291 466.2236 cm
884 .662745 .662745 .662745 RG
886 .960784 .960784 .862745 rg
887 n -6 -6 468.6898 24 re B*
890 .960784 .960784 .862745 rg
892 .960784 .960784 .862745 rg
894 .960784 .960784 .862745 rg
896 .960784 .960784 .862745 rg
898 .960784 .960784 .862745 rg
900 .960784 .960784 .862745 rg
902 .960784 .960784 .862745 rg
904 .960784 .960784 .862745 rg
906 .960784 .960784 .862745 rg
908 .960784 .960784 .862745 rg
910 .960784 .960784 .862745 rg
912 .960784 .960784 .862745 rg
914 .960784 .960784 .862745 rg
916 BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 0 rg (squares) Tj 0 0 0 rg ( ) Tj .4 .4 .4 rg (=) Tj 0 0 0 rg ( ) Tj 0 0 0 rg (\() Tj 0 0 0 rg (i) Tj .4 .4 .4 rg (**) Tj .4 .4 .4 rg (2) Tj 0 0 0 rg ( ) Tj /F4 10 Tf 0 .501961 0 rg (for) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 0 0 rg (i) Tj 0 0 0 rg ( ) Tj /F4 10 Tf .666667 .133333 1 rg (in) Tj /F3 10 Tf 0 0 0 rg ( ) Tj 0 .501961 0 rg (range) Tj 0 0 0 rg (\() Tj .4 .4 .4 rg (10000) Tj 0 0 0 rg (\)\)) Tj T* ET
923 1 0 0 1 62.69291 434.2236 cm
926 BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL .57229 Tw (Generators are lazy, values are calculated when needed, meaning they can represent infinite sequences) Tj T* 0 Tw (without requiring infinite memory.) Tj T* ET
934 /Nums [ 0 19 0 R 1 20 0 R ]
973 [<7b776b85e1f11c424682a79edf2f54eb><7b776b85e1f11c424682a79edf2f54eb>]
974 % ReportLab generated PDF document -- digest (http://www.reportlab.com)