1
0
Fork 0
python-docs-fr/howto/sorting.po

484 lines
19 KiB
Plaintext
Raw Permalink 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.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-12-11 19:25+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 3.2.1\n"
#: howto/sorting.rst:4
msgid "Sorting HOW TO"
msgstr "Guide pour le tri"
#: howto/sorting.rst:0
msgid "Author"
msgstr "Auteur"
#: howto/sorting.rst:6
msgid "Andrew Dalke and Raymond Hettinger"
msgstr "Andrew Dalke et Raymond Hettinger"
#: howto/sorting.rst:0
msgid "Release"
msgstr "Version"
#: howto/sorting.rst:7
msgid "0.1"
msgstr "0.1"
#: 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 ""
"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."
#: howto/sorting.rst:14
msgid ""
"In this document, we explore the various techniques for sorting data using "
"Python."
msgstr ""
"Dans ce document, nous explorons différentes techniques pour trier les "
"données en Python."
#: howto/sorting.rst:18
msgid "Sorting Basics"
msgstr "Les bases du tri"
#: 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 ""
"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :"
"func:`sorted`. Elle renvoie une nouvelle liste triée :"
#: howto/sorting.rst:28
msgid ""
"You can also use the :meth:`list.sort` method. 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 ""
"Vous pouvez aussi utiliser la méthode :meth:`list.sort`. Elle modifie la "
"liste elle-même (et renvoie ``None`` pour éviter les confusions). "
"Habituellement, cette méthode est moins pratique que la fonction :func:"
"`sorted` -- mais si vous n'avez pas besoin de la liste originale, cette "
"technique est légèrement plus efficace."
#: howto/sorting.rst:40
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 ""
"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."
#: howto/sorting.rst:49
msgid "Key Functions"
msgstr "Fonctions clef"
#: howto/sorting.rst:51
msgid ""
"Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify "
"a function (or other callable) to be called on each list element prior to "
"making comparisons."
msgstr ""
":meth:`list.sort` et :func:`sorted` ont un paramètre *key* afin de spécifier "
"une fonction (ou autre appelable) qui peut être appelée sur chaque élément "
"de la liste avant d'effectuer des comparaisons."
#: howto/sorting.rst:55
msgid "For example, here's a case-insensitive string comparison:"
msgstr "Par exemple, voici une comparaison de texte insensible à la casse :"
#: howto/sorting.rst:62
msgid ""
"The value of the *key* parameter should be a function (or other callable) "
"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 ""
"La valeur du paramètre *key* doit être une fonction (ou autre appelable) 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."
#: howto/sorting.rst:67
msgid ""
"A common pattern is to sort complex objects using some of the object's "
"indices as keys. For example:"
msgstr ""
"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 :"
#: howto/sorting.rst:80
msgid ""
"The same technique works for objects with named attributes. For example:"
msgstr ""
"La même technique marche pour des objets avec des attributs nommés. Par "
"exemple :"
#: howto/sorting.rst:101
msgid "Operator Module Functions"
msgstr "Fonctions du module *operator*"
#: howto/sorting.rst:103
msgid ""
"The key-function patterns shown above are very common, so Python provides "
"convenience functions to make accessor functions easier and faster. The :mod:"
"`operator` module has :func:`~operator.itemgetter`, :func:`~operator."
"attrgetter`, and a :func:`~operator.methodcaller` function."
msgstr ""
"Les fonctions clef utilisées ci-dessus sont courantes, donc Python fournit "
"des fonctions permettant de rendre plus simple et plus rapide l'usage des "
"fonctions d'accesseur. Le module :mod:`operator` contient les fonctions :"
"func:`~operator.itemgetter`, :func:`~operator.attrgetter`, et :func:"
"`~operator.methodcaller`."
#: howto/sorting.rst:108
msgid "Using those functions, the above examples become simpler and faster:"
msgstr ""
"En utilisant ces fonctions, les exemples au dessus deviennent plus simples "
"et plus rapides :"
#: howto/sorting.rst:120
msgid ""
"The operator module functions allow multiple levels of sorting. For example, "
"to sort by *grade* then by *age*:"
msgstr ""
"Les fonctions du module *operator* permettent plusieurs niveaux de tri. Par "
"exemple, pour trier par *grade* puis par *age* :"
#: howto/sorting.rst:132
msgid "Ascending and Descending"
msgstr "Ascendant et descendant"
#: howto/sorting.rst:134
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 ""
":meth:`list.sort` et :func:`sorted` acceptent un paramètre nommé *reverse* "
"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* :"
#: howto/sorting.rst:147
msgid "Sort Stability and Complex Sorts"
msgstr "Stabilité des tris et tris complexes"
#: howto/sorting.rst:149
msgid ""
"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 ""
"Les tris sont garantis `stables <https://fr.wikipedia.org/wiki/"
"Algorithme_de_tri#Caract.C3.A8re_stable>`_\\. Cela signifie que lorsque "
"plusieurs enregistrements on la même clef, leur ordre original est préservé."
#: howto/sorting.rst:159
msgid ""
"Notice how the two records for *blue* retain their original order so that "
"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``."
msgstr ""
"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)``."
#: howto/sorting.rst:162
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 ""
"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* :"
#: howto/sorting.rst:172
msgid ""
"This can be abstracted out into a wrapper function that can take a list and "
"tuples of field and order to sort them on multiple passes."
msgstr ""
"Ceci peut être encapsulé dans une fonction qui prend une liste et des n-"
"uplets (attribut, ordre) pour les trier en plusieurs passes."
#: howto/sorting.rst:185
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 ""
"L'algorithme `Timsort <https://fr.wikipedia.org/wiki/Timsort>`_ utilisé dans "
"Python effectue de multiples tris efficacement parce qu'il peut tirer "
"avantage de l'ordre existant dans un jeu de données."
#: howto/sorting.rst:190
#, fuzzy
msgid "Decorate-Sort-Undecorate"
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate"
#: howto/sorting.rst:192
msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:"
msgstr ""
"Cette technique est appelée Decorate-Sort-Undecorate et se base sur trois "
"étapes :"
#: howto/sorting.rst:194
msgid ""
"First, the initial list is decorated with new values that control the sort "
"order."
msgstr ""
"Premièrement, la liste de départ est décorée avec les nouvelles valeurs qui "
"contrôlent l'ordre du tri."
#: howto/sorting.rst:196
msgid "Second, the decorated list is sorted."
msgstr "En second lieu, la liste décorée est triée."
#: howto/sorting.rst:198
msgid ""
"Finally, the decorations are removed, creating a list that contains only the "
"initial values in the new order."
msgstr ""
"Enfin, la décoration est supprimée, créant ainsi une liste qui contient "
"seulement la valeur initiale dans le nouvel ordre."
#: howto/sorting.rst:201
msgid ""
"For example, to sort the student data by *grade* using the DSU approach:"
msgstr ""
"Par exemple, pour trier les données étudiant par *grade* en utilisant "
"l'approche DSU :"
#: howto/sorting.rst:208
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 ""
"Cette technique marche parce que les *n*-uplets sont comparés par ordre "
"lexicographique; les premiers objets sont comparés; si il y a des objets "
"identiques, alors l'objet suivant est comparé, et ainsi de suite."
#: howto/sorting.rst:212
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 ""
"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 :"
#: howto/sorting.rst:215
msgid ""
"The sort is stable -- if two items have the same key, their order will be "
"preserved in the sorted list."
msgstr ""
"Le tri est stable -- si deux objets on la même clef, leur ordre sera "
"préservé dans la liste triée."
#: howto/sorting.rst:218
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 ""
"Les objets d'origine ne sont pas nécessairement comparables car l'ordre des "
"*n*-uplets 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."
#: howto/sorting.rst:223
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 ""
"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."
#: howto/sorting.rst:227
msgid ""
"Now that Python sorting provides key-functions, this technique is not often "
"needed."
msgstr ""
"Maintenant que le tri Python fournit des fonctions-clef, cette technique "
"n'est plus souvent utilisée."
#: howto/sorting.rst:230
#, fuzzy
msgid "Comparison Functions"
msgstr "Fonctions du module *operator*"
#: howto/sorting.rst:232
msgid ""
"Unlike key functions that return an absolute value for sorting, a comparison "
"function computes the relative ordering for two inputs."
msgstr ""
#: howto/sorting.rst:235
msgid ""
"For example, a `balance scale <https://upload.wikimedia.org/wikipedia/"
"commons/1/17/Balance_à_tabac_1850.JPG>`_ compares two samples giving a "
"relative ordering: lighter, equal, or heavier. Likewise, a comparison "
"function such as ``cmp(a, b)`` will return a negative value for less-than, "
"zero if the inputs are equal, or a positive value for greater-than."
msgstr ""
#: howto/sorting.rst:242
msgid ""
"It is common to encounter comparison functions when translating algorithms "
"from other languages. Also, some libraries provide comparison functions as "
"part of their API. For example, :func:`locale.strcoll` is a comparison "
"function."
msgstr ""
#: howto/sorting.rst:246
msgid ""
"To accommodate those situations, Python provides :class:`functools."
"cmp_to_key` to wrap the comparison function to make it usable as a key "
"function::"
msgstr ""
#: howto/sorting.rst:253
msgid "Odds and Ends"
msgstr "Et n'oublions pas"
#: howto/sorting.rst:255
#, fuzzy
msgid ""
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :"
"func:`locale.strcoll` for a comparison function. This is necessary because "
"\"alphabetical\" sort orderings can vary across cultures even if the "
"underlying alphabet is the same."
msgstr ""
"Pour du tri de texte localisé, utilisez :func:`locale.strxfrm` en tant que "
"fonction clef ou :func:`locale.strcoll` comme fonction de comparaison."
#: howto/sorting.rst:260
msgid ""
"The *reverse* parameter still maintains sort stability (so that records with "
"equal keys retain the original order). Interestingly, that effect can be "
"simulated without the parameter by using the builtin :func:`reversed` "
"function twice:"
msgstr ""
"Le paramètre *reverse* maintient toujours un tri stable (de telle sorte que "
"les enregistrements avec des clef égales gardent le même ordre). Notez que "
"cet effet peut être simulé sans le paramètre en utilisant la fonction "
"native :func:`reversed` deux fois :"
#: howto/sorting.rst:274
msgid ""
"The sort routines use ``<`` when making comparisons between two objects. So, "
"it is easy to add a standard sort order to a class by defining an :meth:"
"`__lt__` method:"
msgstr ""
"Pour effectuer les comparaisons entre deux objets, les routines de tri "
"utilisent l'opérateur ``<``. Il est donc facile d'ajouter un ordre de tri "
"standard à une classe en définissant sa méthode :meth:`__lt__` :"
#: howto/sorting.rst:284
msgid ""
"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:"
"`__lt__` is not implemented (see :func:`object.__lt__`)."
msgstr ""
"Notez toutefois que l'opérateur ``<`` peut utiliser la méthode :meth:"
"`__gt__` si :meth:`__lt__` n'est pas implémentée ; voir :func:`object."
"__lt__`."
#: howto/sorting.rst:287
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 ""
"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 :"
#~ msgid "The Old Way Using the *cmp* Parameter"
#~ msgstr "La méthode traditionnelle d'utiliser le paramètre *cmp*"
#~ 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 ""
#~ "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 versions Python 2.x utilisaient un paramètre *cmp* pour "
#~ "prendre en charge les fonctions de comparaisons définies par les "
#~ "utilisateurs."
#~ msgid ""
#~ "In Py3.0, 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 ""
#~ "En Py3.0, le paramètre *cmp* à été supprimé complètement (dans le cadre "
#~ "d'un effort plus général pour simplifier et unifier le langage, en "
#~ "éliminant le conflit entre les comparaisons riches et la méthode magique :"
#~ "meth:`__cmp__`)."
#~ msgid ""
#~ "In Py2.x, 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 ""
#~ "En Python 2.x, le tri permettait en paramètre une fonction optionnelle "
#~ "qui peut être appelée pour faire des comparaisons. Cette fonction devrait "
#~ "prendre deux arguments à comparer pour renvoyer une valeur négative pour "
#~ "inférieur-à, renvoyer zéro si ils sont égaux, ou renvoyer une valeur "
#~ "positive pour supérieur-à. Par exemple, nous pouvons faire :"
#~ msgid "Or you can reverse the order of comparison with:"
#~ msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
#~ 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 ""
#~ "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 :"
#~ msgid "To convert to a key function, just wrap the old comparison function:"
#~ msgstr ""
#~ "Pour convertir une fonction clef, ils suffit d'encapsuler l'ancienne "
#~ "fonction de comparaison :"
#~ msgid ""
#~ "In Python 3.2, the :func:`functools.cmp_to_key` function was added to "
#~ "the :mod:`functools` module in the standard library."
#~ msgstr ""
#~ "En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au "
#~ "module :mod:`functools` dans la librairie standard."