# Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. # docs-es@python.org / # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2021-08-04 17:32+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.3\n" #: ../Doc/howto/sorting.rst:4 msgid "Sorting HOW TO" msgstr "HOW TO - Ordenar" #: ../Doc/howto/sorting.rst msgid "Author" msgstr "Autor" #: ../Doc/howto/sorting.rst:6 msgid "Andrew Dalke and Raymond Hettinger" msgstr "Andrew Dalke and Raymond Hettinger" #: ../Doc/howto/sorting.rst msgid "Release" msgstr "Versión" #: ../Doc/howto/sorting.rst:7 msgid "0.1" msgstr "0.1" #: ../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 "" "Las listas de Python tienen un método incorporado :meth:`list.sort` que " "modifica la lista in situ. También hay una función incorporada :func:" "`sorted` que crea una nueva lista ordenada a partir de un iterable." #: ../Doc/howto/sorting.rst:14 msgid "" "In this document, we explore the various techniques for sorting data using " "Python." msgstr "" "En este documento exploramos las distintas técnicas para ordenar datos " "usando Python." #: ../Doc/howto/sorting.rst:18 msgid "Sorting Basics" msgstr "Conceptos básicos de ordenación" #: ../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 "" "Una clasificación ascendente simple es muy fácil: simplemente llame a la " "función :func:`sorted`. Retorna una nueva lista ordenada:" #: ../Doc/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 "" "También puede usar el método :meth:`list.sort`. Modifica la lista in situ (y " "retorna ``None`` para evitar confusiones). Por lo general, es menos " "conveniente que :func:`sorted`, pero si no necesita la lista original, es un " "poco más eficiente." #: ../Doc/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 "" "Otra diferencia es que el método :meth:`list.sort` solo aplica para las " "listas. En contraste, la función :func:`sorted` acepta cualquier iterable." #: ../Doc/howto/sorting.rst:49 msgid "Key Functions" msgstr "Funciones clave" #: ../Doc/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 "" "Ambos :meth:`list.sort` y :func:`sorted` tienen un parámetro *key* para " "especificar una función (u otra invocable) que se llamará en cada elemento " "de la lista antes de hacer comparaciones." #: ../Doc/howto/sorting.rst:55 msgid "For example, here's a case-insensitive string comparison:" msgstr "" "Por ejemplo, aquí hay una comparación de cadenas que no distingue entre " "mayúsculas y minúsculas:" #: ../Doc/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 "" "El valor del parámetro *key* debe ser una función (u otra invocable) que " "tome un solo argumento y retorne una clave para usar con fines de " "clasificación. Esta técnica es rápida porque la función de la tecla se llama " "exactamente una vez para cada registro de entrada." #: ../Doc/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 uso frecuente es ordenar objetos complejos utilizando algunos de los " "índices del objeto como claves. Por ejemplo:" # habíamos utilizado "nombrados" en named tuples. #: ../Doc/howto/sorting.rst:80 msgid "" "The same technique works for objects with named attributes. For example:" msgstr "" "La misma técnica funciona para objetos con atributos nombrados. Por ejemplo:" #: ../Doc/howto/sorting.rst:101 msgid "Operator Module Functions" msgstr "Funciones del módulo *operator*" #: ../Doc/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 "" "Las funciones clave utilizadas anteriormente son muy comunes, por lo que " "Python proporciona funciones para facilitar y agilizar el uso de las " "funciones de acceso. El módulo :mod:`operator` contiene las funciones :func:" "`~operator.itemgetter`, :func:`~operator.attrgetter`, y :func:`~operator." "methodcaller`." #: ../Doc/howto/sorting.rst:108 msgid "Using those functions, the above examples become simpler and faster:" msgstr "" "Usando esas funciones, los ejemplos anteriores se vuelven más simples y " "rápidos:" #: ../Doc/howto/sorting.rst:120 msgid "" "The operator module functions allow multiple levels of sorting. For example, " "to sort by *grade* then by *age*:" msgstr "" "Las funciones del módulo *operator* permiten múltiples niveles de " "clasificación. Por ejemplo, para ordenar por *grade* y luego por *age*:" #: ../Doc/howto/sorting.rst:132 msgid "Ascending and Descending" msgstr "Ascendente y descendente" #: ../Doc/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 "" "Ambos :meth:`list.sort` y :func:`sorted` aceptan un parámetro *reverse* con " "un valor booleano. Esto se usa para marcar tipos descendentes. Por ejemplo, " "para obtener los datos de los estudiantes en orden inverso de *edad*:" #: ../Doc/howto/sorting.rst:147 msgid "Sort Stability and Complex Sorts" msgstr "Estabilidad de ordenamiento y ordenamientos complejos" #: ../Doc/howto/sorting.rst:149 msgid "" "Sorts are guaranteed to be `stable `_\\. That means that when multiple records have " "the same key, their original order is preserved." msgstr "" "Se garantiza que las clasificaciones serán `estables `_\\. Eso significa que " "cuando varios registros tienen la misma clave, se conserva su orden original." #: ../Doc/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 "" "Observe cómo los dos registros para *blue* conservan su orden original de " "modo que se garantice que ``('blue', 1)`` preceda a ``('blue', 2)``." #: ../Doc/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 "" "Esta maravillosa propiedad le permite construir ordenamientos complejos en " "varias etapas. Por ejemplo, para ordenar los datos de estudiantes en orden " "descendente por *grade* y luego ascendente por *age*, ordene primero por " "*age* y luego por *grade*:" #: ../Doc/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 "" "Esto se puede encapsular en una función que tome una lista y tuplas " "(atributo, orden) para ordenarlas por múltiples pases." #: ../Doc/howto/sorting.rst:185 msgid "" "The `Timsort `_ algorithm used in " "Python does multiple sorts efficiently because it can take advantage of any " "ordering already present in a dataset." msgstr "" "El algoritmo `Timsort `_ utilizado en " "Python realiza múltiples ordenamientos de manera eficiente porque puede " "aprovechar cualquier orden ya presente en el conjunto de datos." #: ../Doc/howto/sorting.rst:190 #, fuzzy msgid "Decorate-Sort-Undecorate" msgstr "El método tradicional utilizando *Decorate-Sort-Undecorate*" #: ../Doc/howto/sorting.rst:192 msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:" msgstr "" "Este patrón de implementación, llamado DSU (por sus siglas en inglés " "*Decorate-Sort-Undecorate*), se realiza en tres pasos:" #: ../Doc/howto/sorting.rst:194 msgid "" "First, the initial list is decorated with new values that control the sort " "order." msgstr "" "Primero, la lista inicial está \"decorada\" con nuevos valores que " "controlarán el orden en que se realizará el pedido." #: ../Doc/howto/sorting.rst:196 msgid "Second, the decorated list is sorted." msgstr "En segundo lugar, se ordena la lista decorada." #: ../Doc/howto/sorting.rst:198 msgid "" "Finally, the decorations are removed, creating a list that contains only the " "initial values in the new order." msgstr "" "Finalmente, los valores decorados se eliminan, creando una lista que " "contiene solo los valores iniciales en el nuevo orden." #: ../Doc/howto/sorting.rst:201 msgid "" "For example, to sort the student data by *grade* using the DSU approach:" msgstr "" "Por ejemplo, para ordenar los datos de los estudiantes por *grade* " "utilizando el enfoque DSU:" #: ../Doc/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 "" "Esta técnica funciona porque las tuplas se comparan en orden lexicográfico; " "se comparan los primeros objetos; si hay objetos idénticos, se compara el " "siguiente objeto, y así sucesivamente." #: ../Doc/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 "" "No es estrictamente necesario en todos los casos incluir el índice *i* en la " "lista decorada, pero incluirlo ofrece dos ventajas:" #: ../Doc/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 "" "El orden es estable: si dos elementos tienen la misma clave, su orden se " "conservará en la lista ordenada." #: ../Doc/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 "" "Los elementos originales no tienen que ser comparables porque el orden de " "las tuplas decoradas estará determinado por, como máximo, los dos primeros " "elementos. Entonces, por ejemplo, la lista original podría contener números " "complejos que no se pueden ordenar directamente." #: ../Doc/howto/sorting.rst:223 msgid "" "Another name for this idiom is `Schwartzian transform `_\\, after Randal L. Schwartz, who " "popularized it among Perl programmers." msgstr "" "Otro nombre para esta técnica es `Transformación Schwartziana `_\\, después de que Randal L. " "Schwartz la popularizara entre los programadores de Perl." #: ../Doc/howto/sorting.rst:227 msgid "" "Now that Python sorting provides key-functions, this technique is not often " "needed." msgstr "" "Ahora que la clasificación de Python proporciona funciones clave, esta " "técnica ya no se usa con frecuencia." #: ../Doc/howto/sorting.rst:230 msgid "Comparison Functions" msgstr "" #: ../Doc/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 "" #: ../Doc/howto/sorting.rst:235 msgid "" "For example, a `balance scale `_ 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 "" #: ../Doc/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 "" #: ../Doc/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 "" #: ../Doc/howto/sorting.rst:253 #, fuzzy msgid "Odds and Ends" msgstr "Comentarios finales" #: ../Doc/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 "" "Para una ordenación local, use :func:`locale.strxfrm` para una función clave " "o :func:`locale.strcoll` para una función de comparación." #: ../Doc/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 "" "El parámetro *reverse* aún mantiene estabilidad de ordenamiento (de modo que " "los registros con claves iguales conservan el orden original). Curiosamente, " "ese efecto se puede simular sin el parámetro utilizando la función " "incorporada :func:`reversed` dos veces:" #: ../Doc/howto/sorting.rst:274 #, fuzzy 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 "" "Se garantiza que las rutinas de clasificación utilizarán :meth:`__lt__` al " "realizar comparaciones entre dos objetos. Por lo tanto, es fácil agregar un " "orden de clasificación estándar a una clase definiendo un método :meth:" "`__lt__`:" #: ../Doc/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 "" #: ../Doc/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 "" "Las funciones clave no necesitan depender directamente de los objetos que se " "ordenan. Una función clave también puede acceder a recursos externos. Por " "ejemplo, si las calificaciones de los estudiantes se almacenan en un " "diccionario, se pueden usar para ordenar una lista separada de nombres de " "estudiantes:" #~ msgid "The Old Way Using the *cmp* Parameter" #~ msgstr "El método tradicional utilizando el Parámetro *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 "" #~ "Muchos constructores presentados en este CÓMO asumen el uso de Python 2.4 " #~ "o superior. Antes de eso, no había una función :func:`sorted` incorporada " #~ "y el método :meth:`list.sort` no tomaba los argumentos nombrados. A pesar " #~ "de esto, todas las versiones de Py2.x admiten el parámetro *cmp* para " #~ "manejar la función de comparación especificada por el usuario." #~ 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, el parámetro *cmp* se eliminó por completo (como parte de un " #~ "mayor esfuerzo para simplificar y unificar el lenguaje, eliminando el " #~ "conflicto entre las comparaciones enriquecidas y el método mágico :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 Py2.x, se permitió una función opcional a la que se puede llamar para " #~ "hacer las comparaciones. Esa función debe tomar dos argumentos para " #~ "comparar y luego retornar un valor negativo para menor que, retornar cero " #~ "si son iguales o retornar un valor positivo para mayor que. Por ejemplo, " #~ "podemos hacer:" #~ msgid "Or you can reverse the order of comparison with:" #~ msgstr "O puede revertir el orden de comparación con:" #~ 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 "" #~ "Al migrar código de Python 2.x a 3.x, puede surgir la situación de que el " #~ "usuario proporciona una función de comparación y necesita convertirla en " #~ "una función clave. La siguiente envoltura lo hace fácil de hacer:" #~ msgid "To convert to a key function, just wrap the old comparison function:" #~ msgstr "" #~ "Para convertir a una función clave, simplemente ajuste la antigua función " #~ "de comparación:" #~ 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 función :func:`functools.cmp_to_key` se agregó al " #~ "módulo :mod:`functools` en la biblioteca estándar."