diff options
| author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2012-10-15 19:44:47 -0700 |
|---|---|---|
| committer | Chris Jerdonek <chris.jerdonek@gmail.com> | 2012-10-15 19:44:47 -0700 |
| commit | 4fab8f0e067772c4c13c86056c2b659cd8e5a812 (patch) | |
| tree | 3e17477b02bc9af2bf60cef0c02e81766fdff1bb /Doc/tutorial/controlflow.rst | |
| parent | f341317185ef7ec6d0cfb2ca93c9d253c3c75305 (diff) | |
| download | cpython-git-4fab8f0e067772c4c13c86056c2b659cd8e5a812.tar.gz | |
Issue #16225: Add additional note to tutorial about changing sequence while looping.
Diffstat (limited to 'Doc/tutorial/controlflow.rst')
| -rw-r--r-- | Doc/tutorial/controlflow.rst | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Doc/tutorial/controlflow.rst b/Doc/tutorial/controlflow.rst index 1564e96c30..574f0d05f6 100644 --- a/Doc/tutorial/controlflow.rst +++ b/Doc/tutorial/controlflow.rst @@ -58,24 +58,24 @@ they appear in the sequence. For example (no pun intended): :: >>> # Measure some strings: - ... a = ['cat', 'window', 'defenestrate'] - >>> for x in a: - ... print(x, len(x)) + ... words = ['cat', 'window', 'defenestrate'] + >>> for w in words: + ... print(w, len(w)) ... cat 3 window 6 defenestrate 12 -It is not safe to modify the sequence being iterated over in the loop (this can -only happen for mutable sequence types, such as lists). If you need to modify -the list you are iterating over (for example, to duplicate selected items) you -must iterate over a copy. The slice notation makes this particularly -convenient:: +If you need to modify the sequence you are iterating over while inside the loop +(for example to duplicate selected items), it is recommended that you first +make a copy. Iterating over a sequence does not implicitly make a copy. The +slice notation makes this especially convenient:: - >>> for x in a[:]: # make a slice copy of the entire list - ... if len(x) > 6: a.insert(0, x) + >>> for w in words[:]: # Loop over a slice copy of the entire list. + ... if len(w) > 6: + ... words.insert(0, w) ... - >>> a + >>> words ['defenestrate', 'cat', 'window', 'defenestrate'] |
