benjamin.peterson
2008-11-17 21:47:41 UTC
Author: benjamin.peterson
Date: Mon Nov 17 22:47:41 2008
New Revision: 67244
Log:
rephrase dict view docs
Modified:
python/branches/py3k/Doc/library/stdtypes.rst
Modified: python/branches/py3k/Doc/library/stdtypes.rst
==============================================================================
--- python/branches/py3k/Doc/library/stdtypes.rst (original)
+++ python/branches/py3k/Doc/library/stdtypes.rst Mon Nov 17 22:47:41 2008
@@ -1881,8 +1881,7 @@
The objects returned by :meth:`dict.keys`, :meth:`dict.values` and
:meth:`dict.items` are *view objects*. They provide a dynamic view on the
dictionary's entries, which means that when the dictionary changes, the view
-reflects these changes. The keys and items views have a set-like character
-since their entries
+reflects these changes.
Dictionary views can be iterated over to yield their respective data, and
support membership tests:
@@ -1910,8 +1909,11 @@
items (in the latter case, *x* should be a ``(key, value)`` tuple).
-The keys and items views also provide set-like operations ("other" here refers
-to another dictionary view or a set):
+Keys views are set-like since their entries are unique and hashable. If all
+values are hashable, so that (key, value) pairs are unique and hashable, then
+the items view is also set-like. (Values views are not treated as set-like
+since the entries are generally not unique.) Then these set operations are
+available ("other" refers either to another view or a set):
.. describe:: dictview & other
@@ -1931,11 +1933,6 @@
Return the symmetric difference (all elements either in *dictview* or
*other*, but not in both) of the dictview and the other object as a new set.
-.. warning::
-
- Since a dictionary's values are not required to be hashable, any of these
- four operations will fail if an involved dictionary contains such a value.
-
An example of dictionary view usage::
Date: Mon Nov 17 22:47:41 2008
New Revision: 67244
Log:
rephrase dict view docs
Modified:
python/branches/py3k/Doc/library/stdtypes.rst
Modified: python/branches/py3k/Doc/library/stdtypes.rst
==============================================================================
--- python/branches/py3k/Doc/library/stdtypes.rst (original)
+++ python/branches/py3k/Doc/library/stdtypes.rst Mon Nov 17 22:47:41 2008
@@ -1881,8 +1881,7 @@
The objects returned by :meth:`dict.keys`, :meth:`dict.values` and
:meth:`dict.items` are *view objects*. They provide a dynamic view on the
dictionary's entries, which means that when the dictionary changes, the view
-reflects these changes. The keys and items views have a set-like character
-since their entries
+reflects these changes.
Dictionary views can be iterated over to yield their respective data, and
support membership tests:
@@ -1910,8 +1909,11 @@
items (in the latter case, *x* should be a ``(key, value)`` tuple).
-The keys and items views also provide set-like operations ("other" here refers
-to another dictionary view or a set):
+Keys views are set-like since their entries are unique and hashable. If all
+values are hashable, so that (key, value) pairs are unique and hashable, then
+the items view is also set-like. (Values views are not treated as set-like
+since the entries are generally not unique.) Then these set operations are
+available ("other" refers either to another view or a set):
.. describe:: dictview & other
@@ -1931,11 +1933,6 @@
Return the symmetric difference (all elements either in *dictview* or
*other*, but not in both) of the dictview and the other object as a new set.
-.. warning::
-
- Since a dictionary's values are not required to be hashable, any of these
- four operations will fail if an involved dictionary contains such a value.
-
An example of dictionary view usage::