summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2011-01-18 20:25:04 (GMT)
committerRaymond Hettinger <python@rcn.com>2011-01-18 20:25:04 (GMT)
commit23ab1016a0f44485926046d917a754d94ea333f5 (patch)
treebf0acc94c6a4d2f7332e7b481c77982b37654aaf
parentad62b03949eca11677fd55df2f8d5f7ef5f504e8 (diff)
downloadcpython-23ab1016a0f44485926046d917a754d94ea333f5.zip
cpython-23ab1016a0f44485926046d917a754d94ea333f5.tar.gz
cpython-23ab1016a0f44485926046d917a754d94ea333f5.tar.bz2
Reword the OrderedDict entry to emphasize the default behavior,
to show equivalent code, and to provide a use case.
-rw-r--r--Doc/whatsnew/3.2.rst22
1 files changed, 12 insertions, 10 deletions
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index 565ead3..1f75c5f 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -798,19 +798,21 @@ collections
* The :class:`collections.OrderedDict` class has a new method
:meth:`~collections.OrderedDict.move_to_end` which takes an existing key and
- moves it to either the beginning or end of an ordered sequence. When the
- dictionary sequence is being used as a queue, these operations correspond to
- "move to the front of the line" or "move to the back of the line":
+ moves it to either the first or last position in the ordered sequence.
+
+ The default is to move an item to the last position. This is equivalent of
+ renewing an entry with ``od[k] = od.pop(k)``.
+
+ A fast move-to-end operation is useful for resequencing entries. For example,
+ an ordered dictionary can being used to track access order by aging entries
+ from oldest to most recently accessed.
>>> d = OrderedDict.fromkeys(['a', 'b', 'X', 'd', 'e'])
>>> list(d)
['a', 'b', 'X', 'd', 'e']
- >>> d.move_to_end('X', last=True)
+ >>> d.move_to_end('X')
>>> list(d)
['a', 'b', 'd', 'e', 'X']
- >>> d.move_to_end('X', last=False)
- >>> list(d)
- ['X', 'a', 'b', 'd', 'e']
(Contributed by Raymond Hettinger.)
@@ -1683,11 +1685,11 @@ The :mod:`os` module has two new functions: :func:`~os.fsencode` and
:data:`os.environ`, :func:`os.getenvb` function and
:data:`os.supports_bytes_environ` constant.
-``'mbcs'`` encoding doesn't ignore the error handler argument any more. By
+MBCS encoding doesn't ignore the error handler argument any more. By
default (strict mode), it raises an UnicodeDecodeError on undecodable byte
-sequence and UnicodeEncodeError on unencodable character. To get the ``'mbcs'``
+sequence and UnicodeEncodeError on unencodable character. To get the MBCS
encoding of Python 3.1, use ``'ignore'`` error handler to decode and
-``'replace'`` error handler to encode. ``'mbcs'`` supports ``'strict'`` and
+``'replace'`` error handler to encode. The MBCS codec supports ``'strict'`` and
``'ignore'`` error handlers for decoding, and ``'strict'`` and ``'replace'``
for encoding.