2018-07-04 09:06:45 +00:00
|
|
|
|
# Copyright (C) 2001-2018, Python Software Foundation
|
2018-07-04 09:08:42 +00:00
|
|
|
|
# For licence information, see README file.
|
2016-10-30 09:46:26 +00:00
|
|
|
|
#
|
|
|
|
|
msgid ""
|
|
|
|
|
msgstr ""
|
|
|
|
|
"Project-Id-Version: Python 3.6\n"
|
|
|
|
|
"Report-Msgid-Bugs-To: \n"
|
2017-12-01 06:48:13 +00:00
|
|
|
|
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
|
2018-08-03 07:37:42 +00:00
|
|
|
|
"PO-Revision-Date: 2018-07-31 18:40+0200\n"
|
2018-07-27 07:46:23 +00:00
|
|
|
|
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
2018-07-04 09:14:25 +00:00
|
|
|
|
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
2017-05-23 22:40:56 +00:00
|
|
|
|
"Language: fr\n"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
"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"
|
2017-11-11 16:36:38 +00:00
|
|
|
|
msgstr "Guide pour le tri"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
2017-12-01 06:48:13 +00:00
|
|
|
|
#: ../Doc/howto/sorting.rst:0
|
|
|
|
|
msgid "Author"
|
2017-12-11 12:43:33 +00:00
|
|
|
|
msgstr "Auteur"
|
2017-12-01 06:48:13 +00:00
|
|
|
|
|
2016-10-30 09:46:26 +00:00
|
|
|
|
#: ../Doc/howto/sorting.rst:6
|
|
|
|
|
msgid "Andrew Dalke and Raymond Hettinger"
|
2017-11-11 16:36:38 +00:00
|
|
|
|
msgstr "Andrew Dalke et Raymond Hettinger"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
2017-12-01 06:48:13 +00:00
|
|
|
|
#: ../Doc/howto/sorting.rst:0
|
|
|
|
|
msgid "Release"
|
|
|
|
|
msgstr "Version"
|
|
|
|
|
|
2016-10-30 09:46:26 +00:00
|
|
|
|
#: ../Doc/howto/sorting.rst:7
|
|
|
|
|
msgid "0.1"
|
2017-11-11 16:36:38 +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 ""
|
2017-11-11 16:36:38 +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 ""
|
2017-11-11 16:36:38 +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"
|
2017-11-11 16:36:38 +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 ""
|
2017-11-11 16:36:38 +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. 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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"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:"
|
2018-08-03 07:37:42 +00:00
|
|
|
|
"`sorted` -- mais si vous n'avez pas besoin de la liste originale, cette "
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"technique est légèrement plus efficace."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../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 ""
|
2017-11-11 16:36:38 +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-02-15 00:01:41 +00:00
|
|
|
|
msgstr "Fonctions clef"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:45
|
|
|
|
|
msgid ""
|
|
|
|
|
"Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify "
|
|
|
|
|
"a function to be called on each list element prior to making comparisons."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
":meth:`list.sort` et :func:`sorted` ont un paramètre nommé *key* afin de "
|
|
|
|
|
"spécifier une fonction qui peut être appelée sur chaque élément de la liste "
|
|
|
|
|
"afin d'effectuer des comparaisons."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:48
|
|
|
|
|
msgid "For example, here's a case-insensitive string comparison:"
|
2017-11-11 16:36:38 +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:53
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:57
|
|
|
|
|
msgid ""
|
|
|
|
|
"A common pattern is to sort complex objects using some of the object's "
|
|
|
|
|
"indices as keys. For example:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:68
|
|
|
|
|
msgid ""
|
|
|
|
|
"The same technique works for objects with named attributes. For example:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:87
|
|
|
|
|
msgid "Operator Module Functions"
|
2018-02-15 00:01:41 +00:00
|
|
|
|
msgstr "Fonctions du module *operator*"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:89
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"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`."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:94
|
|
|
|
|
msgid "Using those functions, the above examples become simpler and faster:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:104
|
|
|
|
|
msgid ""
|
|
|
|
|
"The operator module functions allow multiple levels of sorting. For example, "
|
|
|
|
|
"to sort by *grade* then by *age*:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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 "Ascending and Descending"
|
2018-02-15 00:01:41 +00:00
|
|
|
|
msgstr "Ascendant et descendant"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:116
|
|
|
|
|
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-08-03 07:37:42 +00:00
|
|
|
|
":meth:`list.sort` et :func:`sorted` acceptent un paramètre nommé *reverse* "
|
2017-11-11 16:36:38 +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:127
|
|
|
|
|
msgid "Sort Stability and Complex Sorts"
|
2018-02-15 00:01:41 +00:00
|
|
|
|
msgstr "Stabilité des tris et tris complexes"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:129
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"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é."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:137
|
|
|
|
|
msgid ""
|
|
|
|
|
"Notice how the two records for *blue* retain their original order so that "
|
|
|
|
|
"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:140
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:148
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:153
|
|
|
|
|
msgid "The Old Way Using Decorate-Sort-Undecorate"
|
2017-11-11 16:36:38 +00:00
|
|
|
|
msgstr "La méthode traditionnelle utilisant Decorate-Sort-Undecorate"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:155
|
|
|
|
|
msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:157
|
|
|
|
|
msgid ""
|
|
|
|
|
"First, the initial list is decorated with new values that control the sort "
|
|
|
|
|
"order."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:159
|
|
|
|
|
msgid "Second, the decorated list is sorted."
|
2017-11-11 16:36:38 +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:161
|
|
|
|
|
msgid ""
|
|
|
|
|
"Finally, the decorations are removed, creating a list that contains only the "
|
|
|
|
|
"initial values in the new order."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:164
|
|
|
|
|
msgid ""
|
|
|
|
|
"For example, to sort the student data by *grade* using the DSU approach:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:171
|
|
|
|
|
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-07-27 07:46:23 +00:00
|
|
|
|
"Cette technique marche parce que les tuples sont comparés par ordre "
|
2017-11-11 16:36:38 +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:175
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"Il n'est pas strictement nécessaire dans tous les cas d’inclure 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:178
|
|
|
|
|
msgid ""
|
|
|
|
|
"The sort is stable -- if two items have the same key, their order will be "
|
|
|
|
|
"preserved in the sorted list."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:181
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:186
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:190
|
|
|
|
|
msgid ""
|
|
|
|
|
"Now that Python sorting provides key-functions, this technique is not often "
|
|
|
|
|
"needed."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"Maintenant que le tri Python fournit des fonctions-clef, cette technique "
|
|
|
|
|
"n'est plus souvent utilisée."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:194
|
|
|
|
|
msgid "The Old Way Using the *cmp* Parameter"
|
2017-11-11 16:36:38 +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:196
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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-08-03 07:37:42 +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:201
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"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__`)."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:205
|
|
|
|
|
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 ""
|
2018-08-03 07:37:42 +00:00
|
|
|
|
"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 :"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:215
|
|
|
|
|
msgid "Or you can reverse the order of comparison with:"
|
2017-11-11 16:36:38 +00:00
|
|
|
|
msgstr "Ou nous pouvons inverser l'ordre de comparaison avec :"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:222
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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:245
|
|
|
|
|
msgid "To convert to a key function, just wrap the old comparison function:"
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:256
|
|
|
|
|
msgid ""
|
|
|
|
|
"In Python 3.2, the :func:`functools.cmp_to_key` function was added to the :"
|
|
|
|
|
"mod:`functools` module in the standard library."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"En Python 3.2, la fonction :func:`functools.cmp_to_key` à été ajoutée au "
|
|
|
|
|
"module :mod:`functools` dans la librairie standard."
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:260
|
|
|
|
|
msgid "Odd and Ends"
|
2018-02-15 00:01:41 +00:00
|
|
|
|
msgstr "Curiosités et conclusion"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:262
|
|
|
|
|
msgid ""
|
|
|
|
|
"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :"
|
|
|
|
|
"func:`locale.strcoll` for a comparison function."
|
|
|
|
|
msgstr ""
|
2017-11-11 16:36:38 +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:265
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"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 :"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:277
|
|
|
|
|
msgid ""
|
|
|
|
|
"The sort routines are guaranteed to use :meth:`__lt__` 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 ""
|
2017-11-11 16:36:38 +00:00
|
|
|
|
"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` "
|
|
|
|
|
"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est "
|
|
|
|
|
"facile d'ajouter un ordre de tri standard à une classe en définissant sa "
|
|
|
|
|
"méthode :meth:`__lt__` : ::"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
|
|
|
|
#: ../Doc/howto/sorting.rst:285
|
|
|
|
|
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 ""
|
2017-11-11 16:36:38 +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 :"
|