summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2009-11-12 17:42:47 (GMT)
committerRaymond Hettinger <python@rcn.com>2009-11-12 17:42:47 (GMT)
commitba8cfdad9427ba330bfa3ffbb97a2ec52360e95f (patch)
treee1ccf59bcd4806b3ca322bbabb0b7d6b866118c5 /Doc
parentcf2ec6d4fd31e36dbed45a16cbe57e63a96541bc (diff)
downloadcpython-ba8cfdad9427ba330bfa3ffbb97a2ec52360e95f.zip
cpython-ba8cfdad9427ba330bfa3ffbb97a2ec52360e95f.tar.gz
cpython-ba8cfdad9427ba330bfa3ffbb97a2ec52360e95f.tar.bz2
Add examples to whatsnew entry for OrderedDict.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.1.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst
index c76fd68..2179bf7 100644
--- a/Doc/whatsnew/3.1.rst
+++ b/Doc/whatsnew/3.1.rst
@@ -81,6 +81,28 @@ Support was also added for third-party tools like `PyYAML <http://pyyaml.org/>`_
PEP written by Armin Ronacher and Raymond Hettinger. Implementation
written by Raymond Hettinger.
+Since an ordered dictionary remembers its insertion order, it can be used
+in conjuction with sorting to make a sorted dictionary::
+
+ >>> # regular unsorted dictionary
+ >>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}
+
+ >>> # dictionary sorted by key
+ >>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
+ OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
+
+ >>> # dictionary sorted by value
+ >>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
+ OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
+
+ >>> # dictionary sorted by length of the key string
+ >>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
+ OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])
+
+The new sorted dictionaries maintain their sort order when entries
+are deleted. But when new keys are added, the keys are appended
+to the end and the sort is not maintained.
+
PEP 378: Format Specifier for Thousands Separator
=================================================