rephrase dict view docs

This commit is contained in:
Benjamin Peterson 2008-11-17 21:47:41 +00:00
parent 276c3718e3
commit ce0506ced3
1 changed files with 6 additions and 9 deletions

View File

@ -1881,8 +1881,7 @@ Dictionary view objects
The objects returned by :meth:`dict.keys`, :meth:`dict.values` and The objects returned by :meth:`dict.keys`, :meth:`dict.values` and
:meth:`dict.items` are *view objects*. They provide a dynamic view on the :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 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 reflects these changes.
since their entries
Dictionary views can be iterated over to yield their respective data, and Dictionary views can be iterated over to yield their respective data, and
support membership tests: support membership tests:
@ -1910,8 +1909,11 @@ support membership tests:
items (in the latter case, *x* should be a ``(key, value)`` tuple). 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 Keys views are set-like since their entries are unique and hashable. If all
to another dictionary view or a set): 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 .. describe:: dictview & other
@ -1931,11 +1933,6 @@ to another dictionary view or a set):
Return the symmetric difference (all elements either in *dictview* or 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. *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:: An example of dictionary view usage::