bpo-29981: Add examples and update index for set, dict, and generator comprehensions'(GH-20272)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
This commit is contained in:
parent
5ab27cc518
commit
2d55aa9e37
|
@ -308,6 +308,12 @@ Glossary
|
||||||
keys can be any object with :meth:`__hash__` and :meth:`__eq__` methods.
|
keys can be any object with :meth:`__hash__` and :meth:`__eq__` methods.
|
||||||
Called a hash in Perl.
|
Called a hash in Perl.
|
||||||
|
|
||||||
|
dictionary comprehension
|
||||||
|
A compact way to process all or part of the elements in an iterable and
|
||||||
|
return a dictionary with the results. ``results = {n: n ** 2 for n in
|
||||||
|
range(10)}`` generates a dictionary containing key ``n`` mapped to
|
||||||
|
value ``n ** 2``. See :ref:`comprehensions`.
|
||||||
|
|
||||||
dictionary view
|
dictionary view
|
||||||
The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and
|
The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and
|
||||||
:meth:`dict.items` are called dictionary views. They provide a dynamic
|
:meth:`dict.items` are called dictionary views. They provide a dynamic
|
||||||
|
@ -1026,6 +1032,12 @@ Glossary
|
||||||
interface can be registered explicitly using
|
interface can be registered explicitly using
|
||||||
:func:`~abc.register`.
|
:func:`~abc.register`.
|
||||||
|
|
||||||
|
set comprehension
|
||||||
|
A compact way to process all or part of the elements in an iterable and
|
||||||
|
return a set with the results. ``results = {c for c in 'abracadabra' if
|
||||||
|
c not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See
|
||||||
|
:ref:`comprehensions`.
|
||||||
|
|
||||||
single dispatch
|
single dispatch
|
||||||
A form of :term:`generic function` dispatch where the implementation is
|
A form of :term:`generic function` dispatch where the implementation is
|
||||||
chosen based on the type of a single argument.
|
chosen based on the type of a single argument.
|
||||||
|
|
|
@ -4140,6 +4140,12 @@ The constructors for both classes work the same:
|
||||||
objects. If *iterable* is not specified, a new empty set is
|
objects. If *iterable* is not specified, a new empty set is
|
||||||
returned.
|
returned.
|
||||||
|
|
||||||
|
Sets can be created by several means:
|
||||||
|
|
||||||
|
* Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``
|
||||||
|
* Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``
|
||||||
|
* Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', 'foo'])``
|
||||||
|
|
||||||
Instances of :class:`set` and :class:`frozenset` provide the following
|
Instances of :class:`set` and :class:`frozenset` provide the following
|
||||||
operations:
|
operations:
|
||||||
|
|
||||||
|
@ -4332,6 +4338,14 @@ pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098:
|
||||||
Return a new dictionary initialized from an optional positional argument
|
Return a new dictionary initialized from an optional positional argument
|
||||||
and a possibly empty set of keyword arguments.
|
and a possibly empty set of keyword arguments.
|
||||||
|
|
||||||
|
Dictionaries can be created by several means:
|
||||||
|
|
||||||
|
* Use a comma-separated list of ``key: value`` pairs within braces:
|
||||||
|
``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``
|
||||||
|
* Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``
|
||||||
|
* Use the type constructor: ``dict()``,
|
||||||
|
``dict([('foo', 100), ('bar', 200)])``, ``dict(foo=100, bar=200)``
|
||||||
|
|
||||||
If no positional argument is given, an empty dictionary is created.
|
If no positional argument is given, an empty dictionary is created.
|
||||||
If a positional argument is given and it is a mapping object, a dictionary
|
If a positional argument is given and it is a mapping object, a dictionary
|
||||||
is created with the same key-value pairs as the mapping object. Otherwise,
|
is created with the same key-value pairs as the mapping object. Otherwise,
|
||||||
|
|
|
@ -162,6 +162,8 @@ ambiguities and allow common typos to pass uncaught.
|
||||||
Displays for lists, sets and dictionaries
|
Displays for lists, sets and dictionaries
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
|
.. index:: single: comprehensions
|
||||||
|
|
||||||
For constructing a list, a set or a dictionary Python provides special syntax
|
For constructing a list, a set or a dictionary Python provides special syntax
|
||||||
called "displays", each of them in two flavors:
|
called "displays", each of them in two flavors:
|
||||||
|
|
||||||
|
@ -260,6 +262,7 @@ Set displays
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
pair: set; display
|
pair: set; display
|
||||||
|
pair: set; comprehensions
|
||||||
object: set
|
object: set
|
||||||
single: {} (curly brackets); set expression
|
single: {} (curly brackets); set expression
|
||||||
single: , (comma); expression list
|
single: , (comma); expression list
|
||||||
|
@ -287,6 +290,7 @@ Dictionary displays
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
pair: dictionary; display
|
pair: dictionary; display
|
||||||
|
pair: dictionary; comprehensions
|
||||||
key, datum, key/datum pair
|
key, datum, key/datum pair
|
||||||
object: dictionary
|
object: dictionary
|
||||||
single: {} (curly brackets); dictionary expression
|
single: {} (curly brackets); dictionary expression
|
||||||
|
|
Loading…
Reference in New Issue