python-docs-fr/library/itertools.po

976 lines
39 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-12-02 11:08+0100\n"
"Last-Translator: Raphaël Gomès <alphare33@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../Doc/library/itertools.rst:2
msgid ":mod:`itertools` --- Functions creating iterators for efficient looping"
msgstr ""
":mod:`itertools` --- Fonctions créant des itérateurs pour boucler "
"efficacement."
#: ../Doc/library/itertools.rst:16
msgid ""
"This module implements a number of :term:`iterator` building blocks inspired "
"by constructs from APL, Haskell, and SML. Each has been recast in a form "
"suitable for Python."
msgstr ""
"Ce module implémente de nombreuses briques :term:`d'itérateurs <itérateur>` "
"inspirées par des constructions de APL, Haskell et SML. Toutes ont été "
"retravaillées dans un format adéquat pour Python."
#: ../Doc/library/itertools.rst:20
msgid ""
"The module standardizes a core set of fast, memory efficient tools that are "
"useful by themselves or in combination. Together, they form an \"iterator "
"algebra\" making it possible to construct specialized tools succinctly and "
"efficiently in pure Python."
msgstr ""
"Ce module standardise un noyau d'outils rapide, efficaces en mémoire qui "
"sont utiles d'eux-mêmes ou en les combinant. Ensemble, ils forment une "
"\"algèbre d'itérateurs\" rendant possible la construction succincte et "
"efficace d'outils spécialisés en Python seulement."
#: ../Doc/library/itertools.rst:25
msgid ""
"For instance, SML provides a tabulation tool: ``tabulate(f)`` which produces "
"a sequence ``f(0), f(1), ...``. The same effect can be achieved in Python "
"by combining :func:`map` and :func:`count` to form ``map(f, count())``."
msgstr ""
"Par exemple, SML fournit un outil de tabulation ``tabulate(f)`` qui produit "
"une séquence ``f(0), f(1), ...``. Le même résultat peut être achevé en "
"Python en combinant :func:`map` et :func:`count` pour former ``map(f, "
"count())``."
#: ../Doc/library/itertools.rst:29
msgid ""
"These tools and their built-in counterparts also work well with the high-"
"speed functions in the :mod:`operator` module. For example, the "
"multiplication operator can be mapped across two vectors to form an "
"efficient dot-product: ``sum(map(operator.mul, vector1, vector2))``."
msgstr ""
"Ces outils et leurs équivalents intégrés fonctionnent aussi bien avec les "
"fonction à grande vitesse dans le module :mod:`operator`. Par exemple, "
"l'opérateur de multiplication peut être appliqué à deux vecteurs pour créer "
"un produit scalaire efficace ``sum(map(operator.mul, vecteur1, vecteur2))``."
#: ../Doc/library/itertools.rst:35
#, fuzzy
msgid "**Infinite iterators:**"
msgstr "**Itérateurs infinis :**"
#: ../Doc/library/itertools.rst:38 ../Doc/library/itertools.rst:48
#: ../Doc/library/itertools.rst:67
msgid "Iterator"
msgstr "Itérateur"
#: ../Doc/library/itertools.rst:38 ../Doc/library/itertools.rst:48
#: ../Doc/library/itertools.rst:67
msgid "Arguments"
msgstr "Arguments"
#: ../Doc/library/itertools.rst:38 ../Doc/library/itertools.rst:48
#: ../Doc/library/itertools.rst:67
msgid "Results"
msgstr "Résultats"
#: ../Doc/library/itertools.rst:38 ../Doc/library/itertools.rst:48
msgid "Example"
msgstr "Exemple"
#: ../Doc/library/itertools.rst:40
msgid ":func:`count`"
msgstr ":func:`count`"
#: ../Doc/library/itertools.rst:40
msgid "start, [step]"
msgstr "start, [step]"
#: ../Doc/library/itertools.rst:40
msgid "start, start+step, start+2*step, ..."
msgstr "start, start+step, start+2*step, ..."
#: ../Doc/library/itertools.rst:40
msgid "``count(10) --> 10 11 12 13 14 ...``"
msgstr "``count(10) --> 10 11 12 13 14 ...``"
#: ../Doc/library/itertools.rst:41
msgid ":func:`cycle`"
msgstr ":func:`cycle`"
#: ../Doc/library/itertools.rst:41
msgid "p"
msgstr "p"
#: ../Doc/library/itertools.rst:41
msgid "p0, p1, ... plast, p0, p1, ..."
msgstr "p0, p1, ... plast, p0, p1, ..."
#: ../Doc/library/itertools.rst:41
msgid "``cycle('ABCD') --> A B C D A B C D ...``"
msgstr "``cycle('ABCD') --> A B C D A B C D ...``"
#: ../Doc/library/itertools.rst:42
msgid ":func:`repeat`"
msgstr ":func:`repeat`"
#: ../Doc/library/itertools.rst:42
msgid "elem [,n]"
msgstr "elem [,n]"
#: ../Doc/library/itertools.rst:42
msgid "elem, elem, elem, ... endlessly or up to n times"
msgstr "*elem*, *elem*, *elem*, ...à l'infini ou jusqu'à n fois"
#: ../Doc/library/itertools.rst:42
msgid "``repeat(10, 3) --> 10 10 10``"
msgstr "``repeat(10, 3) --> 10 10 10``"
#: ../Doc/library/itertools.rst:45
msgid "**Iterators terminating on the shortest input sequence:**"
msgstr "**Itérateurs se terminant par la séquence d'entrée la plus courte :**"
#: ../Doc/library/itertools.rst:50
msgid ":func:`accumulate`"
msgstr ":func:`accumulate`"
#: ../Doc/library/itertools.rst:50
msgid "p [,func]"
msgstr "p [,func]"
#: ../Doc/library/itertools.rst:50
msgid "p0, p0+p1, p0+p1+p2, ..."
msgstr "p0, p0+p1, p0+p1+p2, ..."
#: ../Doc/library/itertools.rst:50
msgid "``accumulate([1,2,3,4,5]) --> 1 3 6 10 15``"
msgstr "``accumulate([1,2,3,4,5]) --> 1 3 6 10 15``"
#: ../Doc/library/itertools.rst:51
msgid ":func:`chain`"
msgstr ":func:`chain`"
#: ../Doc/library/itertools.rst:51 ../Doc/library/itertools.rst:61
msgid "p, q, ..."
msgstr "p, q, ..."
#: ../Doc/library/itertools.rst:51 ../Doc/library/itertools.rst:52
msgid "p0, p1, ... plast, q0, q1, ..."
msgstr "p0, p1, ... plast, q0, q1, ..."
#: ../Doc/library/itertools.rst:51
msgid "``chain('ABC', 'DEF') --> A B C D E F``"
msgstr "``chain('ABC', 'DEF') --> A B C D E F``"
#: ../Doc/library/itertools.rst:52
msgid ":func:`chain.from_iterable`"
msgstr ":func:`chain.from_iterable`"
#: ../Doc/library/itertools.rst:52
msgid "iterable"
msgstr "itérable"
#: ../Doc/library/itertools.rst:52
msgid "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``"
msgstr "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``"
#: ../Doc/library/itertools.rst:53
msgid ":func:`compress`"
msgstr ":func:`compress`"
#: ../Doc/library/itertools.rst:53
msgid "data, selectors"
msgstr "data, selectors"
#: ../Doc/library/itertools.rst:53
msgid "(d[0] if s[0]), (d[1] if s[1]), ..."
msgstr "(d[0] if s[0]), (d[1] if s[1]), ..."
#: ../Doc/library/itertools.rst:53
msgid "``compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F``"
msgstr "``compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F``"
#: ../Doc/library/itertools.rst:54
msgid ":func:`dropwhile`"
msgstr ":func:`dropwhile`"
#: ../Doc/library/itertools.rst:54 ../Doc/library/itertools.rst:55
#: ../Doc/library/itertools.rst:59
msgid "pred, seq"
msgstr "pred, seq"
#: ../Doc/library/itertools.rst:54
msgid "seq[n], seq[n+1], starting when pred fails"
msgstr "seq[n], seq[n+1], commençant quand *pred* échoue"
#: ../Doc/library/itertools.rst:54
msgid "``dropwhile(lambda x: x<5, [1,4,6,4,1]) --> 6 4 1``"
msgstr "``dropwhile(lambda x: x<5, [1,4,6,4,1]) --> 6 4 1``"
#: ../Doc/library/itertools.rst:55
msgid ":func:`filterfalse`"
msgstr ":func:`filterfalse`"
#: ../Doc/library/itertools.rst:55
msgid "elements of seq where pred(elem) is false"
msgstr "éléments de *seq* quand *pred(elem)* est faux"
#: ../Doc/library/itertools.rst:55
msgid "``filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8``"
msgstr "``filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8``"
#: ../Doc/library/itertools.rst:56
msgid ":func:`groupby`"
msgstr ":func:`groupby`"
#: ../Doc/library/itertools.rst:56
msgid "iterable[, key]"
msgstr "iterable[, key]"
#: ../Doc/library/itertools.rst:56
msgid "sub-iterators grouped by value of key(v)"
msgstr "sous-itérateurs groupés par la valeur de *key(v)*"
#: ../Doc/library/itertools.rst:57
msgid ":func:`islice`"
msgstr ":func:`islice`"
#: ../Doc/library/itertools.rst:57
msgid "seq, [start,] stop [, step]"
msgstr "seq, [start,] stop [, step]"
#: ../Doc/library/itertools.rst:57
msgid "elements from seq[start:stop:step]"
msgstr "éléments de seq[start:stop:step]"
#: ../Doc/library/itertools.rst:57
msgid "``islice('ABCDEFG', 2, None) --> C D E F G``"
msgstr "``islice('ABCDEFG', 2, None) --> C D E F G``"
#: ../Doc/library/itertools.rst:58
msgid ":func:`starmap`"
msgstr ":func:`starmap`"
#: ../Doc/library/itertools.rst:58
msgid "func, seq"
msgstr "func, seq"
#: ../Doc/library/itertools.rst:58
msgid "func(\\*seq[0]), func(\\*seq[1]), ..."
msgstr "func(\\*seq[0]), func(\\*seq[1]), ..."
#: ../Doc/library/itertools.rst:58
msgid "``starmap(pow, [(2,5), (3,2), (10,3)]) --> 32 9 1000``"
msgstr "``starmap(pow, [(2,5), (3,2), (10,3)]) --> 32 9 1000``"
#: ../Doc/library/itertools.rst:59
msgid ":func:`takewhile`"
msgstr ":func:`takewhile`"
#: ../Doc/library/itertools.rst:59
msgid "seq[0], seq[1], until pred fails"
msgstr "seq[0], seq[1], jusqu'à ce que *pred* échoue"
#: ../Doc/library/itertools.rst:59
msgid "``takewhile(lambda x: x<5, [1,4,6,4,1]) --> 1 4``"
msgstr "``takewhile(lambda x: x<5, [1,4,6,4,1]) --> 1 4``"
#: ../Doc/library/itertools.rst:60
msgid ":func:`tee`"
msgstr ":func:`tee`"
#: ../Doc/library/itertools.rst:60
msgid "it, n"
msgstr "it, n"
#: ../Doc/library/itertools.rst:60
msgid "it1, it2, ... itn splits one iterator into n"
msgstr "*it1*, *it2*, ... *itn* sépare un itérateur en *n*"
#: ../Doc/library/itertools.rst:61
msgid ":func:`zip_longest`"
msgstr ":func:`zip_longest`"
#: ../Doc/library/itertools.rst:61
msgid "(p[0], q[0]), (p[1], q[1]), ..."
msgstr "(p[0], q[0]), (p[1], q[1]), ..."
#: ../Doc/library/itertools.rst:61
msgid "``zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-``"
msgstr "``zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-``"
#: ../Doc/library/itertools.rst:64
#, fuzzy
msgid "**Combinatoric iterators:**"
msgstr "**Générateurs combinatoires :**"
#: ../Doc/library/itertools.rst:69
msgid ":func:`product`"
msgstr ":func:`product`"
#: ../Doc/library/itertools.rst:69
msgid "p, q, ... [repeat=1]"
msgstr "p, q, ... [repeat=1]"
#: ../Doc/library/itertools.rst:69
msgid "cartesian product, equivalent to a nested for-loop"
msgstr "produit cartésien, équivalent à une boucle *for* imbriquée"
#: ../Doc/library/itertools.rst:70
msgid ":func:`permutations`"
msgstr ":func:`permutations`"
#: ../Doc/library/itertools.rst:70
msgid "p[, r]"
msgstr "p[, r]"
#: ../Doc/library/itertools.rst:70
msgid "r-length tuples, all possible orderings, no repeated elements"
msgstr ""
"*tuples* de longueur *r*, tous les ré-arrangements possibles, sans "
"répétition d'éléments"
#: ../Doc/library/itertools.rst:71
msgid ":func:`combinations`"
msgstr ":func:`combinations`"
#: ../Doc/library/itertools.rst:71 ../Doc/library/itertools.rst:72
msgid "p, r"
msgstr "p, r"
#: ../Doc/library/itertools.rst:71
msgid "r-length tuples, in sorted order, no repeated elements"
msgstr "tuples de longueur r, triés, sans répétition d'éléments"
#: ../Doc/library/itertools.rst:72
msgid ":func:`combinations_with_replacement`"
msgstr ":func:`combinations_with_replacement`"
#: ../Doc/library/itertools.rst:72
msgid "r-length tuples, in sorted order, with repeated elements"
msgstr "tuples de longueur r, triés, avec répétition d'éléments"
#: ../Doc/library/itertools.rst:73
msgid "``product('ABCD', repeat=2)``"
msgstr "``product('ABCD', repeat=2)``"
#: ../Doc/library/itertools.rst:73
msgid "``AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD``"
msgstr "``AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD``"
#: ../Doc/library/itertools.rst:74
msgid "``permutations('ABCD', 2)``"
msgstr "``permutations('ABCD', 2)``"
#: ../Doc/library/itertools.rst:74
msgid "``AB AC AD BA BC BD CA CB CD DA DB DC``"
msgstr "``AB AC AD BA BC BD CA CB CD DA DB DC``"
#: ../Doc/library/itertools.rst:75
msgid "``combinations('ABCD', 2)``"
msgstr "``combinations('ABCD', 2)``"
#: ../Doc/library/itertools.rst:75
msgid "``AB AC AD BC BD CD``"
msgstr "``AB AC AD BC BD CD``"
#: ../Doc/library/itertools.rst:76
msgid "``combinations_with_replacement('ABCD', 2)``"
msgstr "``combinations_with_replacement('ABCD', 2)``"
#: ../Doc/library/itertools.rst:76
msgid "``AA AB AC AD BB BC BD CC CD DD``"
msgstr "``AA AB AC AD BB BC BD CC CD DD``"
#: ../Doc/library/itertools.rst:83
msgid "Itertool functions"
msgstr "Fonctions d'*itertool*"
#: ../Doc/library/itertools.rst:85
msgid ""
"The following module functions all construct and return iterators. Some "
"provide streams of infinite length, so they should only be accessed by "
"functions or loops that truncate the stream."
msgstr ""
"Toutes les fonctions de module qui suivent construisent et renvoient des "
"itérateurs. Certaines fournissent des flux de longueur infinie, elles "
"devraient seulement être accédées par des fonctions ou boucles qui tronquent "
"le flux."
#: ../Doc/library/itertools.rst:91
msgid ""
"Make an iterator that returns accumulated sums, or accumulated results of "
"other binary functions (specified via the optional *func* argument). If "
"*func* is supplied, it should be a function of two arguments. Elements of "
"the input *iterable* may be any type that can be accepted as arguments to "
"*func*. (For example, with the default operation of addition, elements may "
"be any addable type including :class:`~decimal.Decimal` or :class:"
"`~fractions.Fraction`.) If the input iterable is empty, the output iterable "
"will also be empty."
msgstr ""
"Créer un itérateur qui renvoie les sommes accumulées, ou les résultats "
"accumulés d'autres fonctions binaires (spécifiées par l'argument optionnel "
"*func*). Si *func* est renseigné, il doit être une fonction à deux "
"arguments. Les éléments de l'itérable d'entrée peuvent être de n'importe "
"quel type qui peuvent être acceptés comme arguments de *func*. (Par exemple, "
"avec l'opération par défaut d'addition, les éléments peuvent être de "
"n'importe quel type additionnable incluant :class:`~decimal.Decimal` ou :"
"class:`~fractions.Fraction`.) Si l'itérable d'entrée est vide, l'itérable de "
"sortie sera aussi vide."
#: ../Doc/library/itertools.rst:101 ../Doc/library/itertools.rst:193
#: ../Doc/library/itertools.rst:242 ../Doc/library/itertools.rst:477
#: ../Doc/library/itertools.rst:556 ../Doc/library/itertools.rst:609
msgid "Roughly equivalent to::"
msgstr "Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:117
msgid ""
"There are a number of uses for the *func* argument. It can be set to :func:"
"`min` for a running minimum, :func:`max` for a running maximum, or :func:"
"`operator.mul` for a running product. Amortization tables can be built by "
"accumulating interest and applying payments. First-order `recurrence "
"relations <https://en.wikipedia.org/wiki/Recurrence_relation>`_ can be "
"modeled by supplying the initial value in the iterable and using only the "
"accumulated total in *func* argument::"
msgstr ""
"Il y a de nombreuses utilisations pour l'argument *func*. Il peut être :func:"
"`min` pour un minimum glissant, :func:`max` pour un maximum glissant, ou :"
"func:`operator.mul` pour un produit glissant. Des tableaux de remboursement "
"peuvent être construites en accumulant l'intérêt et en déposant des "
"paiements. Des `suites de récurrences <https://fr.wikipedia.org/wiki/Suite_d"
"%C3%A9finie_par_r%C3%A9currence>`_ de premier ordre peuvent être modélisées "
"en renseignant la valeur initiale dans l'itérable et en utilisant seulement "
"le total accumulé dans l'argument *func* : ::"
#: ../Doc/library/itertools.rst:147
msgid ""
"See :func:`functools.reduce` for a similar function that returns only the "
"final accumulated value."
msgstr ""
"Voir :func:`functools.reduce` pour une fonction similaire qui ne renvoie que "
"la valeur accumulée finale."
#: ../Doc/library/itertools.rst:152
msgid "Added the optional *func* parameter."
msgstr "Le paramètre optionnel *func* a été ajouté."
#: ../Doc/library/itertools.rst:157
msgid ""
"Make an iterator that returns elements from the first iterable until it is "
"exhausted, then proceeds to the next iterable, until all of the iterables "
"are exhausted. Used for treating consecutive sequences as a single "
"sequence. Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui renvoie les éléments du premier itérable jusqu'à son "
"épuisement, puis continue avec l'itérable suivant jusqu'à ce que tous les "
"itérables soient épuisés. Utilisée pour traiter des séquences consécutives "
"comme une seule séquence Sensiblement équivalente à : ::"
#: ../Doc/library/itertools.rst:171
msgid ""
"Alternate constructor for :func:`chain`. Gets chained inputs from a single "
"iterable argument that is evaluated lazily. Roughly equivalent to::"
msgstr ""
"Constructeur alternatif pour :func:`chain`. Récupère des entrées chaînées "
"d'un unique argument itérable qui est évalué de manière paresseuse. "
"Sensiblement équivalente à : ::"
#: ../Doc/library/itertools.rst:183
msgid "Return *r* length subsequences of elements from the input *iterable*."
msgstr "Renvoyer les sous-séquences de longueur *r* de l'itérable *iterable*."
#: ../Doc/library/itertools.rst:185 ../Doc/library/itertools.rst:234
msgid ""
"Combinations are emitted in lexicographic sort order. So, if the input "
"*iterable* is sorted, the combination tuples will be produced in sorted "
"order."
msgstr ""
"Les combinaisons sont émises dans l'ordre lexicographique. Ainsi, si "
"l'itérable *iterable* est trié, les *tuples* de combinaison seront produits "
"dans l'ordre."
#: ../Doc/library/itertools.rst:189
msgid ""
"Elements are treated as unique based on their position, not on their value. "
"So if the input elements are unique, there will be no repeat values in each "
"combination."
msgstr ""
"Les éléments sont considérés comme uniques en fonction de leur position, et "
"non pas de leur valeur. Ainsi, si les éléments en entrée sont uniques, il "
"n'y aura pas de valeurs répétées dans chaque combinaison."
#: ../Doc/library/itertools.rst:215
msgid ""
"The code for :func:`combinations` can be also expressed as a subsequence of :"
"func:`permutations` after filtering entries where the elements are not in "
"sorted order (according to their position in the input pool)::"
msgstr ""
"Le code de :func:`combinations` peut aussi être exprimé comme une sous-"
"séquence de :func:`permutations` après avoir filtré les entrées dont les "
"éléments ne sont pas triés (selon leur position dans le *pool* d'entrée) : ::"
#: ../Doc/library/itertools.rst:226
msgid ""
"The number of items returned is ``n! / r! / (n-r)!`` when ``0 <= r <= n`` or "
"zero when ``r > n``."
msgstr ""
"Le nombre d'éléments renvoyés est ``n! / r! / (n-r)!`` quand ``0 <= r <= n`` "
"ou zéro quand ``r > n``."
#: ../Doc/library/itertools.rst:231
msgid ""
"Return *r* length subsequences of elements from the input *iterable* "
"allowing individual elements to be repeated more than once."
msgstr ""
"Renvoyer les sous-séquences de longueur *r* des éléments de l'itérable "
"*iterable* d'entrée, permettant aux éléments individuels d'être répétés plus "
"d'une fois."
#: ../Doc/library/itertools.rst:238
msgid ""
"Elements are treated as unique based on their position, not on their value. "
"So if the input elements are unique, the generated combinations will also be "
"unique."
msgstr ""
"Les éléments sont considérés comme uniques en fonction de leur position, et "
"non pas de leur valeur. Ainsi si les éléments d'entrée sont uniques, les "
"combinaisons générées seront aussi uniques."
#: ../Doc/library/itertools.rst:261
msgid ""
"The code for :func:`combinations_with_replacement` can be also expressed as "
"a subsequence of :func:`product` after filtering entries where the elements "
"are not in sorted order (according to their position in the input pool)::"
msgstr ""
"Le code pour :func:`combinations_with_replacement` peut aussi être exprimé "
"comme une sous-séquence de :func:`product` après avoir filtré les entrées où "
"les éléments ne sont pas dans triés (selon leur position dans le *pool* "
"d'entrée) : ::"
#: ../Doc/library/itertools.rst:272
msgid ""
"The number of items returned is ``(n+r-1)! / r! / (n-1)!`` when ``n > 0``."
msgstr ""
"Le nombre d'éléments renvoyés est ``(n+r-1)! / r! / (n-1)!`` quand ``n > 0``."
#: ../Doc/library/itertools.rst:279
msgid ""
"Make an iterator that filters elements from *data* returning only those that "
"have a corresponding element in *selectors* that evaluates to ``True``. "
"Stops when either the *data* or *selectors* iterables has been exhausted. "
"Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui filtre les éléments de *data*, renvoyant seulement "
"ceux qui ont un élément correspondant dans *selectors* qui évalue à "
"``True``. S'arrête quand l'itérable *data* ou *selectors* a été épuisé. "
"Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:293
msgid ""
"Make an iterator that returns evenly spaced values starting with number "
"*start*. Often used as an argument to :func:`map` to generate consecutive "
"data points. Also, used with :func:`zip` to add sequence numbers. Roughly "
"equivalent to::"
msgstr ""
"Créer un itérateur qui renvoie les valeurs espacées également commençant par "
"le nombre *start*. Souvent utilisée comme un argument de :func:`map` pour "
"générer des points de données consécutifs. Aussi utilisé avec :func:`zip` "
"pour ajouter des nombres de séquence. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:305
msgid ""
"When counting with floating point numbers, better accuracy can sometimes be "
"achieved by substituting multiplicative code such as: ``(start + step * i "
"for i in count())``."
msgstr ""
"Quand on compte avec des nombres à virgule flottante, il est parfois "
"possible d'obtenir une meilleure précision en substituant du code "
"multiplicateur comme : ``(start + step * i for i in count())``."
#: ../Doc/library/itertools.rst:309
msgid "Added *step* argument and allowed non-integer arguments."
msgstr ""
"Ajout de l'argument *step* et ajout du support pour les arguments non-"
"entiers."
#: ../Doc/library/itertools.rst:314
msgid ""
"Make an iterator returning elements from the iterable and saving a copy of "
"each. When the iterable is exhausted, return elements from the saved copy. "
"Repeats indefinitely. Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui renvoie les éléments de l'itérable et qui sauvegarde "
"une copie de chaque. Quand l'itérable est épuisé, renvoyer les éléments "
"depuis la copie sauvegardée. Répète à l'infini. Sensiblement équivalent "
"à : ::"
#: ../Doc/library/itertools.rst:328
msgid ""
"Note, this member of the toolkit may require significant auxiliary storage "
"(depending on the length of the iterable)."
msgstr ""
"Note, cette fonction pourrait avoir besoin d'un stockage auxiliaire "
"important (en fonction de la longueur de l'itérable)."
#: ../Doc/library/itertools.rst:334
msgid ""
"Make an iterator that drops elements from the iterable as long as the "
"predicate is true; afterwards, returns every element. Note, the iterator "
"does not produce *any* output until the predicate first becomes false, so it "
"may have a lengthy start-up time. Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui saute les éléments de l'itérable tant que le prédicat "
"est vrai ; ensuite, renvoyer chaque élément. Note, l'itérateur ne produit "
"*aucune* sortie avant que le prédicat ne devienne faux, il peut donc avoir "
"un temps de démarrage long. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:351
msgid ""
"Make an iterator that filters elements from iterable returning only those "
"for which the predicate is ``False``. If *predicate* is ``None``, return the "
"items that are false. Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui filtre les éléments de *iterable*, ne renvoyant "
"seulement ceux pour lesquels le prédicat est ``Faux``. Si *predicate* vaut "
"``None``, renvoyer les éléments qui sont faux. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:366
msgid ""
"Make an iterator that returns consecutive keys and groups from the "
"*iterable*. The *key* is a function computing a key value for each element. "
"If not specified or is ``None``, *key* defaults to an identity function and "
"returns the element unchanged. Generally, the iterable needs to already be "
"sorted on the same key function."
msgstr ""
"Créer un itérateur qui renvoie les clés et les groupes de l'itérable "
"*iterable*. La clé *key* est une fonction qui génère une clé pour chaque "
"élément. Si *key* n'est pas spécifié ou est ``None``, elle vaut par défaut "
"une fonction d'identité qui renvoie l'élément sans le modifier. "
"Généralement, l'itérable a besoin d'être déjà trié selon cette même fonction "
"de clé."
#: ../Doc/library/itertools.rst:372
msgid ""
"The operation of :func:`groupby` is similar to the ``uniq`` filter in Unix. "
"It generates a break or new group every time the value of the key function "
"changes (which is why it is usually necessary to have sorted the data using "
"the same key function). That behavior differs from SQL's GROUP BY which "
"aggregates common elements regardless of their input order."
msgstr ""
"L'opération de :func:`groupby` est similaire au filtre ``uniq`` dans Unix. "
"Elle génère un nouveau groupe à chaque fois que la valeur de la fonction "
"*key* change (ce pourquoi il est souvent nécessaire d'avoir trié les données "
"selon la même fonction de clé). Ce comportement est différent de celui de "
"GROUP BY de SQL qui agrège les éléments sans prendre compte de leur ordre "
"d'entrée."
#: ../Doc/library/itertools.rst:378
msgid ""
"The returned group is itself an iterator that shares the underlying iterable "
"with :func:`groupby`. Because the source is shared, when the :func:"
"`groupby` object is advanced, the previous group is no longer visible. So, "
"if that data is needed later, it should be stored as a list::"
msgstr ""
"Le groupe renvoyé est lui-même un itérateur qui partage l'itérable sous-"
"jacent avec :func:`groupby`. Puisque que la source est partagée, quand "
"l'objet :func:`groupby` est avancé, le groupe précédent n'est plus visible. "
"Ainsi, si cette donnée doit être utilisée plus tard, elle devrait être "
"stockée comme une liste : ::"
#: ../Doc/library/itertools.rst:390
msgid ":func:`groupby` is roughly equivalent to::"
msgstr ":func:`groupby` est sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:422
msgid ""
"Make an iterator that returns selected elements from the iterable. If "
"*start* is non-zero, then elements from the iterable are skipped until start "
"is reached. Afterward, elements are returned consecutively unless *step* is "
"set higher than one which results in items being skipped. If *stop* is "
"``None``, then iteration continues until the iterator is exhausted, if at "
"all; otherwise, it stops at the specified position. Unlike regular "
"slicing, :func:`islice` does not support negative values for *start*, "
"*stop*, or *step*. Can be used to extract related fields from data where "
"the internal structure has been flattened (for example, a multi-line report "
"may list a name field on every third line). Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui renvoie les élément sélectionnés de l'itérable. Si "
"*start* est non-nul, alors les éléments de l'itérables sont sautés jusqu'à "
"ce que *start* soit atteint. Ensuite, les éléments sont renvoyés "
"consécutivement sauf si *step* est plus grand que 1, auquel cas certains "
"éléments seront sautés. Si *stop* est ``None``, alors l'itération continue "
"jusqu'à ce que l'itérateur soit épuisé s'il ne l'est pas déjà ; sinon, il "
"s'arrête à la position spécifiée. À la différence du *slicing* standard, :"
"func:`slice` ne supporte pas les valeurs négatives pour *start*, *stop* ou "
"*step*. Peut être utilisée pour extraire les champs apparentés depuis des "
"données dont la structure interne a été aplatie (par exemple, un rapport "
"multi-ligne pourrait lister un nom de champ toutes les trois lignes). "
"Sensiblement similaire à : ::"
#: ../Doc/library/itertools.rst:457
msgid ""
"If *start* is ``None``, then iteration starts at zero. If *step* is "
"``None``, then the step defaults to one."
msgstr ""
"Si *start* vaut ``None``, alors l'itération commence à zéro. Si *step* vaut "
"``None``, alors le pas est à 1 par défaut."
#: ../Doc/library/itertools.rst:463
msgid ""
"Return successive *r* length permutations of elements in the *iterable*."
msgstr ""
"Renvoyer les permutations successives de longueur *r* des éléments de "
"*iterable*."
#: ../Doc/library/itertools.rst:465
msgid ""
"If *r* is not specified or is ``None``, then *r* defaults to the length of "
"the *iterable* and all possible full-length permutations are generated."
msgstr ""
"Si *r* n'est pas spécifié ou vaut ``None``, alors *r* a pour valeur la "
"longueur de *iterable* et toutes les permutations de longueur *r* possibles "
"sont générées."
#: ../Doc/library/itertools.rst:469
msgid ""
"Permutations are emitted in lexicographic sort order. So, if the input "
"*iterable* is sorted, the permutation tuples will be produced in sorted "
"order."
msgstr ""
"Les permutations sont émises dans l'ordre lexicographique. Ainsi, si "
"l'itérable d'entrée *iterable* est trié, les *tuples* de permutation seront "
"produits dans l'ordre."
#: ../Doc/library/itertools.rst:473
msgid ""
"Elements are treated as unique based on their position, not on their value. "
"So if the input elements are unique, there will be no repeat values in each "
"permutation."
msgstr ""
"Les éléments sont considérés comme uniques en fonction de leur position, et "
"non pas de leur valeur. Ainsi, si l'élément est unique, il n'y aura pas de "
"valeurs répétées dans chaque permutation."
#: ../Doc/library/itertools.rst:504
msgid ""
"The code for :func:`permutations` can be also expressed as a subsequence of :"
"func:`product`, filtered to exclude entries with repeated elements (those "
"from the same position in the input pool)::"
msgstr ""
"Le code pour :func:`permutations` peut aussi être exprimé comme une sous-"
"séquence de :func:`product`, filtré pour exclure les entrées avec des "
"éléments répétés (celles de la même position dans la *pool* d'entrée) : ::"
#: ../Doc/library/itertools.rst:516
msgid ""
"The number of items returned is ``n! / (n-r)!`` when ``0 <= r <= n`` or zero "
"when ``r > n``."
msgstr ""
"Le nombre d'éléments renvoyés est ``n! / (n-r)!`` quand ``0 <= r <= n`` ou "
"zéro quand ``r > n``."
#: ../Doc/library/itertools.rst:521
msgid "Cartesian product of input iterables."
msgstr "Produit cartésien des itérables d'entrée."
#: ../Doc/library/itertools.rst:523
msgid ""
"Roughly equivalent to nested for-loops in a generator expression. For "
"example, ``product(A, B)`` returns the same as ``((x,y) for x in A for y in "
"B)``."
msgstr ""
"Sensiblement équivalent à des boucles *for* imbriquées dans une expression "
"de générateur. Par exemple ``product(A, B)`` renvoie la même chose que "
"``((x, y) for x in A for y in B)``."
#: ../Doc/library/itertools.rst:526
msgid ""
"The nested loops cycle like an odometer with the rightmost element advancing "
"on every iteration. This pattern creates a lexicographic ordering so that "
"if the input's iterables are sorted, the product tuples are emitted in "
"sorted order."
msgstr ""
"Les boucles imbriquées tournent comme un compteur kilométrique avec "
"l'élément le plus à droite avançant à chaque itération. ce motif créé un tri "
"lexicographique afin que si les itérables de l'entrée sont triés, les "
"*tuples* de produit sont émis dans l'ordre."
#: ../Doc/library/itertools.rst:531
msgid ""
"To compute the product of an iterable with itself, specify the number of "
"repetitions with the optional *repeat* keyword argument. For example, "
"``product(A, repeat=4)`` means the same as ``product(A, A, A, A)``."
msgstr ""
"Pour générer le produit d'un itérable avec lui-même, spécifier le nombre de "
"répétitions avec le paramètre nommé optionnel *repeat*. Par exemple, "
"``product(A, repeat=4)`` veut dire la même chose que ``product(A, A, A, A)``."
#: ../Doc/library/itertools.rst:535
msgid ""
"This function is roughly equivalent to the following code, except that the "
"actual implementation does not build up intermediate results in memory::"
msgstr ""
"Cette fonction est sensiblement équivalente au code suivant, saut que la "
"vraie implémentation ne créé pas les résultats intermédiaires en mémoire : ::"
#: ../Doc/library/itertools.rst:551
msgid ""
"Make an iterator that returns *object* over and over again. Runs "
"indefinitely unless the *times* argument is specified. Used as argument to :"
"func:`map` for invariant parameters to the called function. Also used with :"
"func:`zip` to create an invariant part of a tuple record."
msgstr ""
"Créer un itérateur qui renvoie *object* à l'infini. S'exécute indéfiniment "
"sauf si l'argument *times* est spécifié. Utilisée comme argument de :func:"
"`map` pour les paramètres invariants de la fonction appelée. Aussi utilisée "
"avec :func:`zip` pour créer une partie invariante d'un *tuple*."
#: ../Doc/library/itertools.rst:567
msgid ""
"A common use for *repeat* is to supply a stream of constant values to *map* "
"or *zip*::"
msgstr ""
"Une utilisation commune de *repeat* est de fournir un flux constant de "
"valeurs à *map* ou *zip* : ::"
#: ../Doc/library/itertools.rst:575
msgid ""
"Make an iterator that computes the function using arguments obtained from "
"the iterable. Used instead of :func:`map` when argument parameters are "
"already grouped in tuples from a single iterable (the data has been \"pre-"
"zipped\"). The difference between :func:`map` and :func:`starmap` parallels "
"the distinction between ``function(a,b)`` and ``function(*c)``. Roughly "
"equivalent to::"
msgstr ""
"Créer un itérateur qui exécute la fonction avec les arguments obtenus de "
"l'itérable. Utilisée à la place de :func:`map` quand les arguments sont déjà "
"groupés en *tuples* depuis un seul itérable (la donnée a déjà été \"pré-"
"zippée\"). La différence entre :func:`map` et :func:`starmap` est similaire "
"à la différence entre ``fonction(a,b)`` et ``fonction(*c)``. Sensiblement "
"équivalent à : ::"
#: ../Doc/library/itertools.rst:589
msgid ""
"Make an iterator that returns elements from the iterable as long as the "
"predicate is true. Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui renvoie les éléments d'un itérable tant que le "
"prédicat est vrai. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:603
msgid "Return *n* independent iterators from a single iterable."
msgstr "Renvoyer *n* itérateurs indépendant depuis un unique itérable."
#: ../Doc/library/itertools.rst:605
msgid ""
"The following Python code helps explain what *tee* does (although the actual "
"implementation is more complex and uses only a single underlying :abbr:`FIFO "
"(first-in, first-out)` queue)."
msgstr ""
"Le code Python qui suit aide à expliquer ce que fait *tee* (bien que la "
"vraie implémentation est plus complexe et n'utilise qu'une file :abbr:`FIFO "
"(first-in, first-out)`)."
#: ../Doc/library/itertools.rst:626
msgid ""
"Once :func:`tee` has made a split, the original *iterable* should not be "
"used anywhere else; otherwise, the *iterable* could get advanced without the "
"tee objects being informed."
msgstr ""
"Une fois que :func:`tee` a créé un branchement, l'itérable *iterable* ne "
"devrait être utilisé nulle part ailleurs ; sinon, *iterable* pourrait être "
"avancé sans que les objets tee soient informés."
#: ../Doc/library/itertools.rst:630
msgid ""
"This itertool may require significant auxiliary storage (depending on how "
"much temporary data needs to be stored). In general, if one iterator uses "
"most or all of the data before another iterator starts, it is faster to use :"
"func:`list` instead of :func:`tee`."
msgstr ""
"Cet outil pourrait avoir besoin d'un stockage auxiliaire important (en "
"fonction de la taille des données temporaires nécessaires). En général, si "
"un itérateur utilise la majorité ou toute la donnée avant qu'un autre "
"itérateur ne commence, il est plus rapide d'utiliser :func:`list` à la place "
"de :func:`tee`."
#: ../Doc/library/itertools.rst:638
msgid ""
"Make an iterator that aggregates elements from each of the iterables. If the "
"iterables are of uneven length, missing values are filled-in with "
"*fillvalue*. Iteration continues until the longest iterable is exhausted. "
"Roughly equivalent to::"
msgstr ""
"Créer un itérateur qui agrège les éléments de chacun des itérables. Si les "
"itérables sont de longueurs différentes, les valeurs manquantes sont "
"remplacées par *fillvalue*. L'itération continue jusqu'à ce que l'itérable "
"le plus long soit épuisé. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:663
msgid ""
"If one of the iterables is potentially infinite, then the :func:"
"`zip_longest` function should be wrapped with something that limits the "
"number of calls (for example :func:`islice` or :func:`takewhile`). If not "
"specified, *fillvalue* defaults to ``None``."
msgstr ""
"Si un des itérables est potentiellement infini, alors la fonction :func:"
"`zip_longest` devrait être entourée avec quelque chose qui limite le nombre "
"d'appels (par exemple, :func:`islice` ou :func:`takewhile`). Si *fillvalue* "
"n'est pas spécifié, il vaut ``None`` par défaut."
#: ../Doc/library/itertools.rst:672
msgid "Itertools Recipes"
msgstr "Recettes *itertools*"
#: ../Doc/library/itertools.rst:674
msgid ""
"This section shows recipes for creating an extended toolset using the "
"existing itertools as building blocks."
msgstr ""
"Cette section montre des recettes pour créer une boîte à outil étendue en se "
"servant des *itertools* existants comme de briques."
#: ../Doc/library/itertools.rst:677
msgid ""
"The extended tools offer the same high performance as the underlying "
"toolset. The superior memory performance is kept by processing elements one "
"at a time rather than bringing the whole iterable into memory all at once. "
"Code volume is kept small by linking the tools together in a functional "
"style which helps eliminate temporary variables. High speed is retained by "
"preferring \"vectorized\" building blocks over the use of for-loops and :"
"term:`generator`\\s which incur interpreter overhead."
msgstr ""
"Ces outils dérivés offrent la même bonne performance que les outils sous-"
"jacents. La performance mémoire supérieure est gardée en traitant les "
"éléments un à la fois plutôt que de charger tout l'itérable en mémoire en "
"même temps. Le volume de code reste bas grâce à un chaînage de style "
"fonctionnel qui aide à éliminer des variables temporaires. La grande vitesse "
"est gardée en préférant les briques \"vectorisées\" plutôt que les boucles "
"*for* et les :term:`générateur`\\s qui engendrent du sur-coût de traitement."
#: ../Doc/library/itertools.rst:899
msgid ""
"Note, many of the above recipes can be optimized by replacing global lookups "
"with local variables defined as default values. For example, the "
"*dotproduct* recipe can be written as::"
msgstr ""
"Note, beaucoup des recettes ci-dessus peuvent être optimisées en replaçant "
"les recherches globales par des recherches locales avec des variables "
"locales définies comme des valeurs par défaut. Par exemple, la recette "
"*dotproduct* peut être écrite comme : ::"