# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-02-08 09:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" msgstr "" #: ../Doc/library/collections.rst:10 msgid "**Source code:** :source:`Lib/collections/__init__.py`" msgstr "" #: ../Doc/library/collections.rst:20 msgid "" "This module implements specialized container datatypes providing " "alternatives to Python's general purpose built-in containers, :class:" "`dict`, :class:`list`, :class:`set`, and :class:`tuple`." msgstr "" #: ../Doc/library/collections.rst:25 msgid ":func:`namedtuple`" msgstr ":func:`namedtuple`" #: ../Doc/library/collections.rst:25 msgid "factory function for creating tuple subclasses with named fields" msgstr "" #: ../Doc/library/collections.rst:26 msgid ":class:`deque`" msgstr ":class:`deque`" #: ../Doc/library/collections.rst:26 msgid "list-like container with fast appends and pops on either end" msgstr "" #: ../Doc/library/collections.rst:27 msgid ":class:`ChainMap`" msgstr ":class:`ChainMap`" #: ../Doc/library/collections.rst:27 msgid "dict-like class for creating a single view of multiple mappings" msgstr "" #: ../Doc/library/collections.rst:28 msgid ":class:`Counter`" msgstr ":class:`Counter`" #: ../Doc/library/collections.rst:28 msgid "dict subclass for counting hashable objects" msgstr "" #: ../Doc/library/collections.rst:29 msgid ":class:`OrderedDict`" msgstr ":class:`OrderedDict`" #: ../Doc/library/collections.rst:29 msgid "dict subclass that remembers the order entries were added" msgstr "" #: ../Doc/library/collections.rst:30 msgid ":class:`defaultdict`" msgstr ":class:`defaultdict`" #: ../Doc/library/collections.rst:30 msgid "dict subclass that calls a factory function to supply missing values" msgstr "" #: ../Doc/library/collections.rst:31 msgid ":class:`UserDict`" msgstr ":class:`UserDict`" #: ../Doc/library/collections.rst:31 msgid "wrapper around dictionary objects for easier dict subclassing" msgstr "" #: ../Doc/library/collections.rst:32 msgid ":class:`UserList`" msgstr ":class:`UserList`" #: ../Doc/library/collections.rst:32 msgid "wrapper around list objects for easier list subclassing" msgstr "" #: ../Doc/library/collections.rst:33 msgid ":class:`UserString`" msgstr ":class:`UserString`" #: ../Doc/library/collections.rst:33 msgid "wrapper around string objects for easier string subclassing" msgstr "" #: ../Doc/library/collections.rst:36 msgid "" "Moved :ref:`collections-abstract-base-classes` to the :mod:`collections.abc` " "module. For backwards compatibility, they continue to be visible in this " "module as well." msgstr "" #: ../Doc/library/collections.rst:43 msgid ":class:`ChainMap` objects" msgstr ":class:`ChainMap` objects" #: ../Doc/library/collections.rst:47 msgid "" "A :class:`ChainMap` class is provided for quickly linking a number of " "mappings so they can be treated as a single unit. It is often much faster " "than creating a new dictionary and running multiple :meth:`~dict.update` " "calls." msgstr "" #: ../Doc/library/collections.rst:51 msgid "" "The class can be used to simulate nested scopes and is useful in templating." msgstr "" #: ../Doc/library/collections.rst:55 msgid "" "A :class:`ChainMap` groups multiple dicts or other mappings together to " "create a single, updateable view. If no *maps* are specified, a single " "empty dictionary is provided so that a new chain always has at least one " "mapping." msgstr "" #: ../Doc/library/collections.rst:59 msgid "" "The underlying mappings are stored in a list. That list is public and can " "be accessed or updated using the *maps* attribute. There is no other state." msgstr "" #: ../Doc/library/collections.rst:62 msgid "" "Lookups search the underlying mappings successively until a key is found. " "In contrast, writes, updates, and deletions only operate on the first " "mapping." msgstr "" #: ../Doc/library/collections.rst:65 msgid "" "A :class:`ChainMap` incorporates the underlying mappings by reference. So, " "if one of the underlying mappings gets updated, those changes will be " "reflected in :class:`ChainMap`." msgstr "" #: ../Doc/library/collections.rst:69 msgid "" "All of the usual dictionary methods are supported. In addition, there is a " "*maps* attribute, a method for creating new subcontexts, and a property for " "accessing all but the first mapping:" msgstr "" #: ../Doc/library/collections.rst:75 msgid "" "A user updateable list of mappings. The list is ordered from first-searched " "to last-searched. It is the only stored state and can be modified to change " "which mappings are searched. The list should always contain at least one " "mapping." msgstr "" #: ../Doc/library/collections.rst:82 msgid "" "Returns a new :class:`ChainMap` containing a new map followed by all of the " "maps in the current instance. If ``m`` is specified, it becomes the new map " "at the front of the list of mappings; if not specified, an empty dict is " "used, so that a call to ``d.new_child()`` is equivalent to: ``ChainMap({}, " "*d.maps)``. This method is used for creating subcontexts that can be " "updated without altering values in any of the parent mappings." msgstr "" #: ../Doc/library/collections.rst:90 msgid "The optional ``m`` parameter was added." msgstr "" #: ../Doc/library/collections.rst:95 msgid "" "Property returning a new :class:`ChainMap` containing all of the maps in the " "current instance except the first one. This is useful for skipping the " "first map in the search. Use cases are similar to those for the :keyword:" "`nonlocal` keyword used in :term:`nested scopes `. The use " "cases also parallel those for the built-in :func:`super` function. A " "reference to ``d.parents`` is equivalent to: ``ChainMap(*d.maps[1:])``." msgstr "" #: ../Doc/library/collections.rst:106 msgid "" "The `MultiContext class `_ in the Enthought `CodeTools package " "`_ has options to support writing to " "any mapping in the chain." msgstr "" #: ../Doc/library/collections.rst:112 msgid "" "Django's `Context class `_ for templating is a read-only chain of mappings. It " "also features pushing and popping of contexts similar to the :meth:" "`~collections.ChainMap.new_child` method and the :meth:`~collections." "ChainMap.parents` property." msgstr "" #: ../Doc/library/collections.rst:119 msgid "" "The `Nested Contexts recipe `_ " "has options to control whether writes and other mutations apply only to the " "first mapping or to any mapping in the chain." msgstr "" #: ../Doc/library/collections.rst:124 msgid "" "A `greatly simplified read-only version of Chainmap `_." msgstr "" #: ../Doc/library/collections.rst:129 msgid ":class:`ChainMap` Examples and Recipes" msgstr "" #: ../Doc/library/collections.rst:131 msgid "This section shows various approaches to working with chained maps." msgstr "" #: ../Doc/library/collections.rst:134 msgid "Example of simulating Python's internal lookup chain::" msgstr "" #: ../Doc/library/collections.rst:139 msgid "" "Example of letting user specified command-line arguments take precedence " "over environment variables which in turn take precedence over default " "values::" msgstr "" #: ../Doc/library/collections.rst:156 msgid "" "Example patterns for using the :class:`ChainMap` class to simulate nested " "contexts::" msgstr "" #: ../Doc/library/collections.rst:175 msgid "" "The :class:`ChainMap` class only makes updates (writes and deletions) to the " "first mapping in the chain while lookups will search the full chain. " "However, if deep writes and deletions are desired, it is easy to make a " "subclass that updates keys found deeper in the chain::" msgstr "" #: ../Doc/library/collections.rst:205 msgid ":class:`Counter` objects" msgstr "" #: ../Doc/library/collections.rst:207 msgid "" "A counter tool is provided to support convenient and rapid tallies. For " "example::" msgstr "" #: ../Doc/library/collections.rst:226 msgid "" "A :class:`Counter` is a :class:`dict` subclass for counting hashable " "objects. It is an unordered collection where elements are stored as " "dictionary keys and their counts are stored as dictionary values. Counts " "are allowed to be any integer value including zero or negative counts. The :" "class:`Counter` class is similar to bags or multisets in other languages." msgstr "" #: ../Doc/library/collections.rst:232 msgid "" "Elements are counted from an *iterable* or initialized from another " "*mapping* (or counter):" msgstr "" #: ../Doc/library/collections.rst:240 msgid "" "Counter objects have a dictionary interface except that they return a zero " "count for missing items instead of raising a :exc:`KeyError`:" msgstr "" #: ../Doc/library/collections.rst:247 msgid "" "Setting a count to zero does not remove an element from a counter. Use " "``del`` to remove it entirely:" msgstr "" #: ../Doc/library/collections.rst:256 msgid "" "Counter objects support three methods beyond those available for all " "dictionaries:" msgstr "" #: ../Doc/library/collections.rst:261 msgid "" "Return an iterator over elements repeating each as many times as its count. " "Elements are returned in arbitrary order. If an element's count is less " "than one, :meth:`elements` will ignore it." msgstr "" #: ../Doc/library/collections.rst:271 msgid "" "Return a list of the *n* most common elements and their counts from the most " "common to the least. If *n* is omitted or ``None``, :func:`most_common` " "returns *all* elements in the counter. Elements with equal counts are " "ordered arbitrarily:" msgstr "" #: ../Doc/library/collections.rst:281 msgid "" "Elements are subtracted from an *iterable* or from another *mapping* (or " "counter). Like :meth:`dict.update` but subtracts counts instead of " "replacing them. Both inputs and outputs may be zero or negative." msgstr "" #: ../Doc/library/collections.rst:293 msgid "" "The usual dictionary methods are available for :class:`Counter` objects " "except for two which work differently for counters." msgstr "" #: ../Doc/library/collections.rst:298 msgid "This class method is not implemented for :class:`Counter` objects." msgstr "" #: ../Doc/library/collections.rst:302 msgid "" "Elements are counted from an *iterable* or added-in from another *mapping* " "(or counter). Like :meth:`dict.update` but adds counts instead of replacing " "them. Also, the *iterable* is expected to be a sequence of elements, not a " "sequence of ``(key, value)`` pairs." msgstr "" #: ../Doc/library/collections.rst:307 msgid "Common patterns for working with :class:`Counter` objects::" msgstr "" #: ../Doc/library/collections.rst:319 msgid "" "Several mathematical operations are provided for combining :class:`Counter` " "objects to produce multisets (counters that have counts greater than zero). " "Addition and subtraction combine counters by adding or subtracting the " "counts of corresponding elements. Intersection and union return the minimum " "and maximum of corresponding counts. Each operation can accept inputs with " "signed counts, but the output will exclude results with counts of zero or " "less." msgstr "" #: ../Doc/library/collections.rst:337 msgid "" "Unary addition and subtraction are shortcuts for adding an empty counter or " "subtracting from an empty counter." msgstr "" #: ../Doc/library/collections.rst:346 msgid "" "Added support for unary plus, unary minus, and in-place multiset operations." msgstr "" #: ../Doc/library/collections.rst:351 msgid "" "Counters were primarily designed to work with positive integers to represent " "running counts; however, care was taken to not unnecessarily preclude use " "cases needing other types or negative values. To help with those use cases, " "this section documents the minimum range and type restrictions." msgstr "" #: ../Doc/library/collections.rst:356 msgid "" "The :class:`Counter` class itself is a dictionary subclass with no " "restrictions on its keys and values. The values are intended to be numbers " "representing counts, but you *could* store anything in the value field." msgstr "" #: ../Doc/library/collections.rst:360 msgid "" "The :meth:`most_common` method requires only that the values be orderable." msgstr "" #: ../Doc/library/collections.rst:362 msgid "" "For in-place operations such as ``c[key] += 1``, the value type need only " "support addition and subtraction. So fractions, floats, and decimals would " "work and negative values are supported. The same is also true for :meth:" "`update` and :meth:`subtract` which allow negative and zero values for both " "inputs and outputs." msgstr "" #: ../Doc/library/collections.rst:368 msgid "" "The multiset methods are designed only for use cases with positive values. " "The inputs may be negative or zero, but only outputs with positive values " "are created. There are no type restrictions, but the value type needs to " "support addition, subtraction, and comparison." msgstr "" #: ../Doc/library/collections.rst:373 msgid "" "The :meth:`elements` method requires integer counts. It ignores zero and " "negative counts." msgstr "" #: ../Doc/library/collections.rst:378 msgid "" "`Bag class `_ in Smalltalk." msgstr "" #: ../Doc/library/collections.rst:381 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" #: ../Doc/library/collections.rst:383 msgid "" "`C++ multisets `_ tutorial with examples." msgstr "" #: ../Doc/library/collections.rst:386 msgid "" "For mathematical operations on multisets and their use cases, see *Knuth, " "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " "19*." msgstr "" #: ../Doc/library/collections.rst:390 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`:" msgstr "" #: ../Doc/library/collections.rst:393 msgid "" "map(Counter, combinations_with_replacement('ABC', 2)) --> AA AB AC BB BC CC" msgstr "" #: ../Doc/library/collections.rst:397 msgid ":class:`deque` objects" msgstr "" #: ../Doc/library/collections.rst:401 msgid "" "Returns a new deque object initialized left-to-right (using :meth:`append`) " "with data from *iterable*. If *iterable* is not specified, the new deque is " "empty." msgstr "" #: ../Doc/library/collections.rst:404 msgid "" "Deques are a generalization of stacks and queues (the name is pronounced " "\"deck\" and is short for \"double-ended queue\"). Deques support thread-" "safe, memory efficient appends and pops from either side of the deque with " "approximately the same O(1) performance in either direction." msgstr "" #: ../Doc/library/collections.rst:409 msgid "" "Though :class:`list` objects support similar operations, they are optimized " "for fast fixed-length operations and incur O(n) memory movement costs for " "``pop(0)`` and ``insert(0, v)`` operations which change both the size and " "position of the underlying data representation." msgstr "" #: ../Doc/library/collections.rst:415 msgid "" "If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary " "length. Otherwise, the deque is bounded to the specified maximum length. " "Once a bounded length deque is full, when new items are added, a " "corresponding number of items are discarded from the opposite end. Bounded " "length deques provide functionality similar to the ``tail`` filter in Unix. " "They are also useful for tracking transactions and other pools of data where " "only the most recent activity is of interest." msgstr "" #: ../Doc/library/collections.rst:424 msgid "Deque objects support the following methods:" msgstr "" #: ../Doc/library/collections.rst:428 msgid "Add *x* to the right side of the deque." msgstr "" #: ../Doc/library/collections.rst:433 msgid "Add *x* to the left side of the deque." msgstr "" #: ../Doc/library/collections.rst:438 msgid "Remove all elements from the deque leaving it with length 0." msgstr "" #: ../Doc/library/collections.rst:443 msgid "Create a shallow copy of the deque." msgstr "" #: ../Doc/library/collections.rst:450 msgid "Count the number of deque elements equal to *x*." msgstr "" #: ../Doc/library/collections.rst:457 msgid "" "Extend the right side of the deque by appending elements from the iterable " "argument." msgstr "" #: ../Doc/library/collections.rst:463 msgid "" "Extend the left side of the deque by appending elements from *iterable*. " "Note, the series of left appends results in reversing the order of elements " "in the iterable argument." msgstr "" #: ../Doc/library/collections.rst:470 msgid "" "Return the position of *x* in the deque (at or after index *start* and " "before index *stop*). Returns the first match or raises :exc:`ValueError` " "if not found." msgstr "" #: ../Doc/library/collections.rst:479 msgid "Insert *x* into the deque at position *i*." msgstr "" #: ../Doc/library/collections.rst:481 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." msgstr "" #: ../Doc/library/collections.rst:489 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." msgstr "" #: ../Doc/library/collections.rst:495 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." msgstr "" #: ../Doc/library/collections.rst:501 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." msgstr "" #: ../Doc/library/collections.rst:507 msgid "Reverse the elements of the deque in-place and then return ``None``." msgstr "" #: ../Doc/library/collections.rst:514 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." msgstr "" #: ../Doc/library/collections.rst:517 msgid "" "When the deque is not empty, rotating one step to the right is equivalent to " "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " "to ``d.append(d.popleft())``." msgstr "" #: ../Doc/library/collections.rst:522 msgid "Deque objects also provide one read-only attribute:" msgstr "" #: ../Doc/library/collections.rst:526 msgid "Maximum size of a deque or ``None`` if unbounded." msgstr "" #: ../Doc/library/collections.rst:531 msgid "" "In addition to the above, deques support iteration, pickling, ``len(d)``, " "``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " "with the :keyword:`in` operator, and subscript references such as " "``d[-1]``. Indexed access is O(1) at both ends but slows to O(n) in the " "middle. For fast random access, use lists instead." msgstr "" #: ../Doc/library/collections.rst:537 msgid "" "Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " "``__imul__()``." msgstr "" #: ../Doc/library/collections.rst:540 msgid "Example:" msgstr "Exemple :" #: ../Doc/library/collections.rst:597 msgid ":class:`deque` Recipes" msgstr "" #: ../Doc/library/collections.rst:599 msgid "This section shows various approaches to working with deques." msgstr "" #: ../Doc/library/collections.rst:601 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" msgstr "" #: ../Doc/library/collections.rst:609 msgid "" "Another approach to using deques is to maintain a sequence of recently added " "elements by appending to the right and popping to the left::" msgstr "" #: ../Doc/library/collections.rst:624 msgid "" "The :meth:`rotate` method provides a way to implement :class:`deque` slicing " "and deletion. For example, a pure Python implementation of ``del d[n]`` " "relies on the :meth:`rotate` method to position elements to be popped::" msgstr "" #: ../Doc/library/collections.rst:633 msgid "" "To implement :class:`deque` slicing, use a similar approach applying :meth:" "`rotate` to bring a target element to the left side of the deque. Remove old " "entries with :meth:`popleft`, add new entries with :meth:`extend`, and then " "reverse the rotation. With minor variations on that approach, it is easy to " "implement Forth style stack manipulations such as ``dup``, ``drop``, " "``swap``, ``over``, ``pick``, ``rot``, and ``roll``." msgstr "" #: ../Doc/library/collections.rst:643 msgid ":class:`defaultdict` objects" msgstr "" #: ../Doc/library/collections.rst:647 msgid "" "Returns a new dictionary-like object. :class:`defaultdict` is a subclass of " "the built-in :class:`dict` class. It overrides one method and adds one " "writable instance variable. The remaining functionality is the same as for " "the :class:`dict` class and is not documented here." msgstr "" #: ../Doc/library/collections.rst:652 msgid "" "The first argument provides the initial value for the :attr:" "`default_factory` attribute; it defaults to ``None``. All remaining " "arguments are treated the same as if they were passed to the :class:`dict` " "constructor, including keyword arguments." msgstr "" #: ../Doc/library/collections.rst:658 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" msgstr "" #: ../Doc/library/collections.rst:663 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." msgstr "" #: ../Doc/library/collections.rst:666 msgid "" "If :attr:`default_factory` is not ``None``, it is called without arguments " "to provide a default value for the given *key*, this value is inserted in " "the dictionary for the *key*, and returned." msgstr "" #: ../Doc/library/collections.rst:670 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." msgstr "" #: ../Doc/library/collections.rst:673 msgid "" "This method is called by the :meth:`__getitem__` method of the :class:`dict` " "class when the requested key is not found; whatever it returns or raises is " "then returned or raised by :meth:`__getitem__`." msgstr "" #: ../Doc/library/collections.rst:677 msgid "" "Note that :meth:`__missing__` is *not* called for any operations besides :" "meth:`__getitem__`. This means that :meth:`get` will, like normal " "dictionaries, return ``None`` as a default rather than using :attr:" "`default_factory`." msgstr "" #: ../Doc/library/collections.rst:683 msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "" #: ../Doc/library/collections.rst:688 msgid "" "This attribute is used by the :meth:`__missing__` method; it is initialized " "from the first argument to the constructor, if present, or to ``None``, if " "absent." msgstr "" #: ../Doc/library/collections.rst:694 msgid ":class:`defaultdict` Examples" msgstr "" #: ../Doc/library/collections.rst:696 msgid "" "Using :class:`list` as the :attr:`default_factory`, it is easy to group a " "sequence of key-value pairs into a dictionary of lists:" msgstr "" #: ../Doc/library/collections.rst:707 msgid "" "When each key is encountered for the first time, it is not already in the " "mapping; so an entry is automatically created using the :attr:" "`default_factory` function which returns an empty :class:`list`. The :meth:" "`list.append` operation then attaches the value to the new list. When keys " "are encountered again, the look-up proceeds normally (returning the list for " "that key) and the :meth:`list.append` operation adds another value to the " "list. This technique is simpler and faster than an equivalent technique " "using :meth:`dict.setdefault`:" msgstr "" #: ../Doc/library/collections.rst:722 msgid "" "Setting the :attr:`default_factory` to :class:`int` makes the :class:" "`defaultdict` useful for counting (like a bag or multiset in other " "languages):" msgstr "" #: ../Doc/library/collections.rst:734 msgid "" "When a letter is first encountered, it is missing from the mapping, so the :" "attr:`default_factory` function calls :func:`int` to supply a default count " "of zero. The increment operation then builds up the count for each letter." msgstr "" #: ../Doc/library/collections.rst:738 msgid "" "The function :func:`int` which always returns zero is just a special case of " "constant functions. A faster and more flexible way to create constant " "functions is to use a lambda function which can supply any constant value " "(not just zero):" msgstr "" #: ../Doc/library/collections.rst:750 msgid "" "Setting the :attr:`default_factory` to :class:`set` makes the :class:" "`defaultdict` useful for building a dictionary of sets:" msgstr "" #: ../Doc/library/collections.rst:763 msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" msgstr "" #: ../Doc/library/collections.rst:765 msgid "" "Named tuples assign meaning to each position in a tuple and allow for more " "readable, self-documenting code. They can be used wherever regular tuples " "are used, and they add the ability to access fields by name instead of " "position index." msgstr "" #: ../Doc/library/collections.rst:771 msgid "" "Returns a new tuple subclass named *typename*. The new subclass is used to " "create tuple-like objects that have fields accessible by attribute lookup as " "well as being indexable and iterable. Instances of the subclass also have a " "helpful docstring (with typename and field_names) and a helpful :meth:" "`__repr__` method which lists the tuple contents in a ``name=value`` format." msgstr "" #: ../Doc/library/collections.rst:777 msgid "" "The *field_names* are a sequence of strings such as ``['x', 'y']``. " "Alternatively, *field_names* can be a single string with each fieldname " "separated by whitespace and/or commas, for example ``'x y'`` or ``'x, y'``." msgstr "" #: ../Doc/library/collections.rst:781 msgid "" "Any valid Python identifier may be used for a fieldname except for names " "starting with an underscore. Valid identifiers consist of letters, digits, " "and underscores but do not start with a digit or underscore and cannot be a :" "mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or *raise*." msgstr "" #: ../Doc/library/collections.rst:787 msgid "" "If *rename* is true, invalid fieldnames are automatically replaced with " "positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " "converted to ``['abc', '_1', 'ghi', '_3']``, eliminating the keyword ``def`` " "and the duplicate fieldname ``abc``." msgstr "" #: ../Doc/library/collections.rst:792 msgid "" "If *verbose* is true, the class definition is printed after it is built. " "This option is outdated; instead, it is simpler to print the :attr:`_source` " "attribute." msgstr "" #: ../Doc/library/collections.rst:796 msgid "" "If *module* is defined, the ``__module__`` attribute of the named tuple is " "set to that value." msgstr "" #: ../Doc/library/collections.rst:799 msgid "" "Named tuple instances do not have per-instance dictionaries, so they are " "lightweight and require no more memory than regular tuples." msgstr "" #: ../Doc/library/collections.rst:802 msgid "Added support for *rename*." msgstr "" #: ../Doc/library/collections.rst:805 msgid "" "The *verbose* and *rename* parameters became :ref:`keyword-only arguments " "`." msgstr "" #: ../Doc/library/collections.rst:809 msgid "Added the *module* parameter." msgstr "" #: ../Doc/library/collections.rst:828 msgid "" "Named tuples are especially useful for assigning field names to result " "tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" msgstr "" #: ../Doc/library/collections.rst:844 msgid "" "In addition to the methods inherited from tuples, named tuples support three " "additional methods and two attributes. To prevent conflicts with field " "names, the method and attribute names start with an underscore." msgstr "" #: ../Doc/library/collections.rst:850 msgid "" "Class method that makes a new instance from an existing sequence or iterable." msgstr "" #: ../Doc/library/collections.rst:860 msgid "" "Return a new :class:`OrderedDict` which maps field names to their " "corresponding values:" msgstr "" #: ../Doc/library/collections.rst:869 msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." msgstr "" #: ../Doc/library/collections.rst:874 msgid "" "Return a new instance of the named tuple replacing specified fields with new " "values::" msgstr "" #: ../Doc/library/collections.rst:886 msgid "" "A string with the pure Python source code used to create the named tuple " "class. The source makes the named tuple self-documenting. It can be " "printed, executed using :func:`exec`, or saved to a file and imported." msgstr "" #: ../Doc/library/collections.rst:895 msgid "" "Tuple of strings listing the field names. Useful for introspection and for " "creating new named tuple types from existing named tuples." msgstr "" #: ../Doc/library/collections.rst:908 msgid "" "To retrieve a field whose name is stored in a string, use the :func:" "`getattr` function:" msgstr "" #: ../Doc/library/collections.rst:914 msgid "" "To convert a dictionary to a named tuple, use the double-star-operator (as " "described in :ref:`tut-unpacking-arguments`):" msgstr "" #: ../Doc/library/collections.rst:921 msgid "" "Since a named tuple is a regular Python class, it is easy to add or change " "functionality with a subclass. Here is how to add a calculated field and a " "fixed-width print format:" msgstr "" #: ../Doc/library/collections.rst:940 msgid "" "The subclass shown above sets ``__slots__`` to an empty tuple. This helps " "keep memory requirements low by preventing the creation of instance " "dictionaries." msgstr "" #: ../Doc/library/collections.rst:943 msgid "" "Subclassing is not useful for adding new, stored fields. Instead, simply " "create a new named tuple type from the :attr:`_fields` attribute:" msgstr "" #: ../Doc/library/collections.rst:948 msgid "" "Docstrings can be customized by making direct assignments to the ``__doc__`` " "fields:" msgstr "" #: ../Doc/library/collections.rst:957 msgid "Property docstrings became writeable." msgstr "" #: ../Doc/library/collections.rst:960 msgid "" "Default values can be implemented by using :meth:`_replace` to customize a " "prototype instance:" msgstr "" #: ../Doc/library/collections.rst:971 msgid "" "`Recipe for named tuple abstract base class with a metaclass mix-in `_ by Jan Kaliszewski. Besides providing an :term:`abstract base " "class` for named tuples, it also supports an alternate :term:`metaclass`-" "based constructor that is convenient for use cases where named tuples are " "being subclassed." msgstr "" #: ../Doc/library/collections.rst:978 msgid "" "See :meth:`types.SimpleNamespace` for a mutable namespace based on an " "underlying dictionary instead of a tuple." msgstr "" #: ../Doc/library/collections.rst:981 msgid "" "See :meth:`typing.NamedTuple` for a way to add type hints for named tuples." msgstr "" #: ../Doc/library/collections.rst:985 msgid ":class:`OrderedDict` objects" msgstr "" #: ../Doc/library/collections.rst:987 msgid "" "Ordered dictionaries are just like regular dictionaries but they remember " "the order that items were inserted. When iterating over an ordered " "dictionary, the items are returned in the order their keys were first added." msgstr "" #: ../Doc/library/collections.rst:993 msgid "" "Return an instance of a dict subclass, supporting the usual :class:`dict` " "methods. An *OrderedDict* is a dict that remembers the order that keys were " "first inserted. If a new entry overwrites an existing entry, the original " "insertion position is left unchanged. Deleting an entry and reinserting it " "will move it to the end." msgstr "" #: ../Doc/library/collections.rst:1003 msgid "" "The :meth:`popitem` method for ordered dictionaries returns and removes a " "(key, value) pair. The pairs are returned in :abbr:`LIFO (last-in, first-" "out)` order if *last* is true or :abbr:`FIFO (first-in, first-out)` order if " "false." msgstr "" #: ../Doc/library/collections.rst:1010 msgid "" "Move an existing *key* to either end of an ordered dictionary. The item is " "moved to the right end if *last* is true (the default) or to the beginning " "if *last* is false. Raises :exc:`KeyError` if the *key* does not exist::" msgstr "" #: ../Doc/library/collections.rst:1025 msgid "" "In addition to the usual mapping methods, ordered dictionaries also support " "reverse iteration using :func:`reversed`." msgstr "" #: ../Doc/library/collections.rst:1028 msgid "" "Equality tests between :class:`OrderedDict` objects are order-sensitive and " "are implemented as ``list(od1.items())==list(od2.items())``. Equality tests " "between :class:`OrderedDict` objects and other :class:`~collections.abc." "Mapping` objects are order-insensitive like regular dictionaries. This " "allows :class:`OrderedDict` objects to be substituted anywhere a regular " "dictionary is used." msgstr "" #: ../Doc/library/collections.rst:1035 msgid "" "The items, keys, and values :term:`views ` of :class:" "`OrderedDict` now support reverse iteration using :func:`reversed`." msgstr "" #: ../Doc/library/collections.rst:1039 msgid "" "With the acceptance of :pep:`468`, order is retained for keyword arguments " "passed to the :class:`OrderedDict` constructor and its :meth:`update` method." msgstr "" #: ../Doc/library/collections.rst:1045 msgid ":class:`OrderedDict` Examples and Recipes" msgstr "" #: ../Doc/library/collections.rst:1047 msgid "" "Since an ordered dictionary remembers its insertion order, it can be used in " "conjunction with sorting to make a sorted dictionary::" msgstr "" #: ../Doc/library/collections.rst:1065 msgid "" "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." msgstr "" #: ../Doc/library/collections.rst:1069 msgid "" "It is also straight-forward to create an ordered dictionary variant that " "remembers the order the keys were *last* inserted. If a new entry overwrites " "an existing entry, the original insertion position is changed and moved to " "the end::" msgstr "" #: ../Doc/library/collections.rst:1082 msgid "" "An ordered dictionary can be combined with the :class:`Counter` class so " "that the counter remembers the order elements are first encountered::" msgstr "" #: ../Doc/library/collections.rst:1096 msgid ":class:`UserDict` objects" msgstr "" #: ../Doc/library/collections.rst:1098 msgid "" "The class, :class:`UserDict` acts as a wrapper around dictionary objects. " "The need for this class has been partially supplanted by the ability to " "subclass directly from :class:`dict`; however, this class can be easier to " "work with because the underlying dictionary is accessible as an attribute." msgstr "" #: ../Doc/library/collections.rst:1106 msgid "" "Class that simulates a dictionary. The instance's contents are kept in a " "regular dictionary, which is accessible via the :attr:`data` attribute of :" "class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is " "initialized with its contents; note that a reference to *initialdata* will " "not be kept, allowing it be used for other purposes." msgstr "" #: ../Doc/library/collections.rst:1112 msgid "" "In addition to supporting the methods and operations of mappings, :class:" "`UserDict` instances provide the following attribute:" msgstr "" #: ../Doc/library/collections.rst:1117 msgid "" "A real dictionary used to store the contents of the :class:`UserDict` class." msgstr "" #: ../Doc/library/collections.rst:1123 msgid ":class:`UserList` objects" msgstr "" #: ../Doc/library/collections.rst:1125 msgid "" "This class acts as a wrapper around list objects. It is a useful base class " "for your own list-like classes which can inherit from them and override " "existing methods or add new ones. In this way, one can add new behaviors to " "lists." msgstr "" #: ../Doc/library/collections.rst:1130 msgid "" "The need for this class has been partially supplanted by the ability to " "subclass directly from :class:`list`; however, this class can be easier to " "work with because the underlying list is accessible as an attribute." msgstr "" #: ../Doc/library/collections.rst:1136 msgid "" "Class that simulates a list. The instance's contents are kept in a regular " "list, which is accessible via the :attr:`data` attribute of :class:" "`UserList` instances. The instance's contents are initially set to a copy " "of *list*, defaulting to the empty list ``[]``. *list* can be any iterable, " "for example a real Python list or a :class:`UserList` object." msgstr "" #: ../Doc/library/collections.rst:1142 msgid "" "In addition to supporting the methods and operations of mutable sequences, :" "class:`UserList` instances provide the following attribute:" msgstr "" #: ../Doc/library/collections.rst:1147 msgid "" "A real :class:`list` object used to store the contents of the :class:" "`UserList` class." msgstr "" #: ../Doc/library/collections.rst:1150 msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " "to offer a constructor which can be called with either no arguments or one " "argument. List operations which return a new sequence attempt to create an " "instance of the actual implementation class. To do so, it assumes that the " "constructor can be called with a single parameter, which is a sequence " "object used as a data source." msgstr "" #: ../Doc/library/collections.rst:1157 msgid "" "If a derived class does not wish to comply with this requirement, all of the " "special methods supported by this class will need to be overridden; please " "consult the sources for information about the methods which need to be " "provided in that case." msgstr "" #: ../Doc/library/collections.rst:1163 msgid ":class:`UserString` objects" msgstr "" #: ../Doc/library/collections.rst:1165 msgid "" "The class, :class:`UserString` acts as a wrapper around string objects. The " "need for this class has been partially supplanted by the ability to subclass " "directly from :class:`str`; however, this class can be easier to work with " "because the underlying string is accessible as an attribute." msgstr "" #: ../Doc/library/collections.rst:1173 msgid "" "Class that simulates a string or a Unicode string object. The instance's " "content is kept in a regular string object, which is accessible via the :" "attr:`data` attribute of :class:`UserString` instances. The instance's " "contents are initially set to a copy of *sequence*. The *sequence* can be " "an instance of :class:`bytes`, :class:`str`, :class:`UserString` (or a " "subclass) or an arbitrary sequence which can be converted into a string " "using the built-in :func:`str` function." msgstr "" #: ../Doc/library/collections.rst:1181 msgid "" "New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " "``isprintable``, and ``maketrans``." msgstr ""