From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 14 Nov 2023 09:38:19 +0000 (+0100) Subject: [3.12] gh-111622: Fix doc for items views (GH-112051) (#112052) X-Git-Tag: v3.12.1~129 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18b88fecc9ddae7924a161c247c977412f177a51;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-111622: Fix doc for items views (GH-112051) (#112052) They are set-like even when some values are not hashable, but work even better when all are. (cherry picked from commit e31d65e0b7bb6d6fee4e8df54e10976b4cfab1de) Co-authored-by: Terry Jan Reedy --- diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 4d44ca276641..a0db7ba22fbf 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -4752,14 +4752,17 @@ support membership tests: .. versionadded:: 3.10 -Keys views are set-like since their entries are unique and :term:`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 +Keys views are set-like since their entries are unique and :term:`hashable`. +Items views also have set-like operations since the (key, value) pairs +are unique and the keys are hashable. +If all values in an items view are hashable as well, +then the items view can interoperate with other sets. +(Values views are not treated as set-like since the entries are generally not unique.) For set-like views, all of the operations defined for the abstract base class :class:`collections.abc.Set` are available (for example, ``==``, ``<``, or ``^``). While using set operators, -set-like views accept any iterable as the other operand, unlike sets which only -accept sets as the input. +set-like views accept any iterable as the other operand, +unlike sets which only accept sets as the input. An example of dictionary view usage::