python-docs-fr/howto/sorting.po

408 lines
16 KiB
Plaintext
Raw Normal View History

2016-10-30 09:46:26 +00:00
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 1990-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 2.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../Doc/howto/sorting.rst:4
msgid "Sorting HOW TO"
2018-07-03 09:30:39 +00:00
msgstr "Guide pour le tri"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:6
msgid "Andrew Dalke and Raymond Hettinger"
2018-07-03 09:30:39 +00:00
msgstr "Andrew Dalke et Raymond Hettinger"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:7
msgid "0.1"
2018-07-03 09:30:39 +00:00
msgstr "0.1"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:10
msgid ""
"Python lists have a built-in :meth:`list.sort` method that modifies the list "
"in-place. There is also a :func:`sorted` built-in function that builds a "
"new sorted list from an iterable."
msgstr ""
2018-07-03 09:30:39 +00:00
"Les listes Python ont une méthode native :meth:`list.sort` qui modifie les "
"listes elles-mêmes. Il y a également une fonction native :func:`sorted` qui "
"construit une nouvelle liste triée depuis un itérable."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:14
msgid ""
"In this document, we explore the various techniques for sorting data using "
"Python."
msgstr ""
2018-07-03 09:30:39 +00:00
"Dans ce document, nous explorons différentes techniques pour trier les "
"données en Python."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:18
msgid "Sorting Basics"
2018-07-03 09:30:39 +00:00
msgstr "Les bases du tri"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:20
msgid ""
"A simple ascending sort is very easy: just call the :func:`sorted` function. "
"It returns a new sorted list::"
msgstr ""
2018-07-03 09:30:39 +00:00
"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :"
"func:`sorted`. Elle renvoie une nouvelle liste triée : ::"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:26
msgid ""
"You can also use the :meth:`list.sort` method of a list. It modifies the "
"list in-place (and returns ``None`` to avoid confusion). Usually it's less "
"convenient than :func:`sorted` - but if you don't need the original list, "
"it's slightly more efficient."
msgstr ""
#: ../Doc/howto/sorting.rst:36
msgid ""
"Another difference is that the :meth:`list.sort` method is only defined for "
"lists. In contrast, the :func:`sorted` function accepts any iterable."
msgstr ""
2018-07-03 09:30:39 +00:00
"Une autre différence est que la méthode :meth:`list.sort` est seulement "
"définie pour les listes. Au contraire, la fonction :func:`sorted` accepte "
"n'importe quel itérable."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:43
msgid "Key Functions"
2018-07-03 09:30:39 +00:00
msgstr "Fonctions clef"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:45
msgid ""
"Starting with Python 2.4, both :meth:`list.sort` and :func:`sorted` added a "
"*key* parameter to specify a function to be called on each list element "
"prior to making comparisons."
msgstr ""
#: ../Doc/howto/sorting.rst:49
msgid "For example, here's a case-insensitive string comparison:"
2018-07-03 09:30:39 +00:00
msgstr "Par exemple, voici une comparaison de texte insensible à la casse:"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:54
msgid ""
"The value of the *key* parameter should be a function that takes a single "
"argument and returns a key to use for sorting purposes. This technique is "
"fast because the key function is called exactly once for each input record."
msgstr ""
2018-07-03 09:30:39 +00:00
"La valeur du paramètre *key* devrait être une fonction qui prend un seul "
"argument et renvoie une clef à utiliser à des fins de tri. Cette technique "
"est rapide car la fonction clef est appelée exactement une seule fois pour "
"chaque enregistrement en entrée."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:58
msgid ""
"A common pattern is to sort complex objects using some of the object's "
"indices as keys. For example:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Un usage fréquent est de faire un tri sur des objets complexes en utilisant "
"les indices des objets en tant que clef. Par exemple :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:69
msgid ""
"The same technique works for objects with named attributes. For example:"
msgstr ""
2018-07-03 09:30:39 +00:00
"La même technique marche pour des objets avec des attributs nommés. Par "
"exemple :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:88
msgid "Operator Module Functions"
2018-07-03 09:30:39 +00:00
msgstr "Fonctions du module *operator*"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:90
msgid ""
"The key-function patterns shown above are very common, so Python provides "
"convenience functions to make accessor functions easier and faster. The "
"operator module has :func:`operator.itemgetter`, :func:`operator."
"attrgetter`, and starting in Python 2.5 an :func:`operator.methodcaller` "
"function."
msgstr ""
#: ../Doc/howto/sorting.rst:95
msgid "Using those functions, the above examples become simpler and faster:"
msgstr ""
2018-07-03 09:30:39 +00:00
"En utilisant ces fonctions, les exemples au dessus deviennent plus simples "
"et plus rapides :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:105
msgid ""
"The operator module functions allow multiple levels of sorting. For example, "
"to sort by *grade* then by *age*:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Les fonctions du module *operator* permettent plusieurs niveaux de tri. Par "
"exemple, pour trier par *grade* puis par *age* :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:114
msgid ""
"The :func:`operator.methodcaller` function makes method calls with fixed "
"parameters for each object being sorted. For example, the :meth:`str.count` "
"method could be used to compute message priority by counting the number of "
"exclamation marks in a message:"
msgstr ""
#: ../Doc/howto/sorting.rst:125
msgid "Ascending and Descending"
2018-07-03 09:30:39 +00:00
msgstr "Ascendant et descendant"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:127
msgid ""
"Both :meth:`list.sort` and :func:`sorted` accept a *reverse* parameter with "
"a boolean value. This is used to flag descending sorts. For example, to get "
"the student data in reverse *age* order:"
msgstr ""
2018-10-10 16:34:12 +00:00
":meth:`list.sort` et :func:`sorted` acceptent un paramètre nommé *reverse* "
2018-07-03 09:30:39 +00:00
"avec une valeur booléenne. C'est utilisé pour déterminer l'ordre descendant "
"des tris. Par exemple, pour avoir les données des étudiants dans l'ordre "
"inverse par *age* :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:138
msgid "Sort Stability and Complex Sorts"
2018-07-03 09:30:39 +00:00
msgstr "Stabilité des tris et tris complexes"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:140
msgid ""
"Starting with Python 2.2, sorts are guaranteed to be `stable <https://en."
"wikipedia.org/wiki/Sorting_algorithm#Stability>`_\\. That means that when "
"multiple records have the same key, their original order is preserved."
msgstr ""
#: ../Doc/howto/sorting.rst:148
msgid ""
"Notice how the two records for *blue* retain their original order so that "
"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``."
msgstr ""
2018-07-03 09:30:39 +00:00
"Notez comme les deux enregistrements pour *blue* gardent leur ordre original "
"et que par conséquent il est garanti que ``('blue', 1)`` précède ``('blue', "
"2)``."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:151
msgid ""
"This wonderful property lets you build complex sorts in a series of sorting "
"steps. For example, to sort the student data by descending *grade* and then "
"ascending *age*, do the *age* sort first and then sort again using *grade*:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Cette propriété fantastique vous permet de construire des tris complexes "
"dans des tris en plusieurs étapes. Par exemple, afin de sortir les données "
"des étudiants en ordre descendant par *grade* puis en ordre ascendant par "
"*age*, effectuez un tri par *age* en premier puis un second tri par *grade* :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:159
msgid ""
"The `Timsort <https://en.wikipedia.org/wiki/Timsort>`_ algorithm used in "
"Python does multiple sorts efficiently because it can take advantage of any "
"ordering already present in a dataset."
msgstr ""
2018-07-03 09:30:39 +00:00
"L'algorithme `Timsort <https://fr.wikipedia.org/wiki/Timsort>`_ utilisé dans "
"Python effectue de multiples tris efficacement parce qu'il peut tirer "
"avantage de n'importe quel ordre de existant dans un jeu de données."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:164
msgid "The Old Way Using Decorate-Sort-Undecorate"
2018-07-03 09:30:39 +00:00
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:166
msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Cette technique est appelée Decorate-Sort-Undecorate et se base sur trois "
"étapes :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:168
msgid ""
"First, the initial list is decorated with new values that control the sort "
"order."
msgstr ""
2018-07-03 09:30:39 +00:00
"Premièrement, la liste de départ est décorée avec les nouvelles valeurs qui "
"contrôlent l'ordre du tri."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:170
msgid "Second, the decorated list is sorted."
2018-07-03 09:30:39 +00:00
msgstr "En second lieu, la liste décorée est triée."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:172
msgid ""
"Finally, the decorations are removed, creating a list that contains only the "
"initial values in the new order."
msgstr ""
2018-07-03 09:30:39 +00:00
"Enfin, la décoration est supprimée, créant ainsi une liste qui contient "
"seulement la valeur initiale dans le nouvel ordre."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:175
msgid ""
"For example, to sort the student data by *grade* using the DSU approach:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Par exemple, pour trier les données étudiant par *grade* en utilisant "
"l'approche DSU :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:182
msgid ""
"This idiom works because tuples are compared lexicographically; the first "
"items are compared; if they are the same then the second items are compared, "
"and so on."
msgstr ""
2018-10-10 16:34:12 +00:00
"Cette technique marche parce que les tuples sont comparés par ordre "
2018-07-03 09:30:39 +00:00
"lexicographique; les premiers objets sont comparés; si il y a des objets "
"identiques, alors l'objet suivant est comparé, et ainsi de suite."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:186
msgid ""
"It is not strictly necessary in all cases to include the index *i* in the "
"decorated list, but including it gives two benefits:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Il n'est pas strictement nécessaire dans tous les cas dinclure l'indice *i* "
"dans la liste décorée, mais l'inclure donne deux avantages :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:189
msgid ""
"The sort is stable -- if two items have the same key, their order will be "
"preserved in the sorted list."
msgstr ""
2018-07-03 09:30:39 +00:00
"Le tri est stable -- si deux objets on la même clef, leur ordre sera "
"préservé dans la liste triée."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:192
msgid ""
"The original items do not have to be comparable because the ordering of the "
"decorated tuples will be determined by at most the first two items. So for "
"example the original list could contain complex numbers which cannot be "
"sorted directly."
msgstr ""
2018-07-03 09:30:39 +00:00
"Les objets d'origine ne sont pas nécessairement comparables car l'ordre des "
"tuples décorés sera déterminé par au plus les deux premiers objets. Donc par "
"exemple la liste originale pourrait contenir des nombres complexes qui "
"pourraient ne pas être triés directement."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:197
msgid ""
"Another name for this idiom is `Schwartzian transform <https://en.wikipedia."
"org/wiki/Schwartzian_transform>`_\\, after Randal L. Schwartz, who "
"popularized it among Perl programmers."
msgstr ""
2018-07-03 09:30:39 +00:00
"Un autre nom pour cette technique est `Schwartzian transform <https://en."
"wikipedia.org/wiki/Schwartzian_transform>`_\\, après que Randal L. Schwartz "
"l'ait popularisé chez les développeurs Perl."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:201
msgid ""
"For large lists and lists where the comparison information is expensive to "
"calculate, and Python versions before 2.4, DSU is likely to be the fastest "
"way to sort the list. For 2.4 and later, key functions provide the same "
"functionality."
msgstr ""
#: ../Doc/howto/sorting.rst:207
msgid "The Old Way Using the *cmp* Parameter"
2018-07-03 09:30:39 +00:00
msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:209
msgid ""
"Many constructs given in this HOWTO assume Python 2.4 or later. Before that, "
"there was no :func:`sorted` builtin and :meth:`list.sort` took no keyword "
"arguments. Instead, all of the Py2.x versions supported a *cmp* parameter to "
"handle user specified comparison functions."
msgstr ""
2018-07-03 09:30:39 +00:00
"Plusieurs construction données dans ce guide se basent sur Python 2.4 ou "
"plus. Avant cela, il n'y avait pas la fonction :func:`sorted` et la méthode :"
"meth:`list.sort` ne prenait pas d'arguments nommés. À la place, toutes les "
2018-10-10 16:34:12 +00:00
"versions Python 2.x utilisaient un paramètre *cmp* pour prendre en charge "
"les fonctions de comparaisons définies par les utilisateurs."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:214
msgid ""
"In Python 3, the *cmp* parameter was removed entirely (as part of a larger "
"effort to simplify and unify the language, eliminating the conflict between "
"rich comparisons and the :meth:`__cmp__` magic method)."
msgstr ""
#: ../Doc/howto/sorting.rst:218
msgid ""
"In Python 2, :meth:`~list.sort` allowed an optional function which can be "
"called for doing the comparisons. That function should take two arguments to "
"be compared and then return a negative value for less-than, return zero if "
"they are equal, or return a positive value for greater-than. For example, we "
"can do:"
msgstr ""
#: ../Doc/howto/sorting.rst:228
msgid "Or you can reverse the order of comparison with:"
2018-07-03 09:30:39 +00:00
msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:235
msgid ""
"When porting code from Python 2.x to 3.x, the situation can arise when you "
"have the user supplying a comparison function and you need to convert that "
"to a key function. The following wrapper makes that easy to do::"
msgstr ""
2018-07-03 09:30:39 +00:00
"En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent "
"survenir quand des utilisateurs fournissent une fonction de comparaison et "
"qu'il faut convertir cette fonction en une fonction-clef. La fonction "
"d'encapsulation suivante rend cela plus facile à faire : ::"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:258
msgid "To convert to a key function, just wrap the old comparison function:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne "
"fonction de comparaison :"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:269
msgid ""
"In Python 2.7, the :func:`functools.cmp_to_key` function was added to the "
"functools module."
msgstr ""
#: ../Doc/howto/sorting.rst:273
msgid "Odd and Ends"
2018-07-03 09:30:39 +00:00
msgstr "Curiosités et conclusion"
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:275
msgid ""
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :"
"func:`locale.strcoll` for a comparison function."
msgstr ""
2018-07-03 09:30:39 +00:00
"Pour du tri de texte localisé, utilisez :func:`locale.strxfrm` en tant que "
"fonction clef ou :func:`locale.strcoll` comme fonction de comparaison."
2016-10-30 09:46:26 +00:00
#: ../Doc/howto/sorting.rst:278
msgid ""
"The *reverse* parameter still maintains sort stability (so that records with "
"equal keys retain their original order). Interestingly, that effect can be "
"simulated without the parameter by using the builtin :func:`reversed` "
"function twice:"
msgstr ""
#: ../Doc/howto/sorting.rst:290
msgid ""
"To create a standard sort order for a class, just add the appropriate rich "
"comparison methods:"
msgstr ""
#: ../Doc/howto/sorting.rst:302
msgid ""
"For general purpose comparisons, the recommended approach is to define all "
"six rich comparison operators. The :func:`functools.total_ordering` class "
"decorator makes this easy to implement."
msgstr ""
#: ../Doc/howto/sorting.rst:306
msgid ""
"Key functions need not depend directly on the objects being sorted. A key "
"function can also access external resources. For instance, if the student "
"grades are stored in a dictionary, they can be used to sort a separate list "
"of student names:"
msgstr ""
2018-07-03 09:30:39 +00:00
"Les fonctions clef n'ont pas besoin de dépendre directement des objets "
"triés. Une fonction clef peut aussi accéder à des ressources externes. En "
"l'occurrence, si les grades des étudiants sont stockés dans un dictionnaire, "
"ils peuvent être utilisés pour trier une liste différentes de noms "
"d'étudiants :"