# 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: 2023-10-12 19:43+0200\n"
"PO-Revision-Date: 2023-11-20 09:49-0500\n"
"Last-Translator: \n"
"Language-Team: python-doc-es\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/bisect.rst:2
msgid ":mod:`bisect` --- Array bisection algorithm"
msgstr ":mod:`bisect` --- Algoritmo de bisección de arreglos"
#: ../Doc/library/bisect.rst:10
msgid "**Source code:** :source:`Lib/bisect.py`"
msgstr "**Código fuente:** :source:`Lib/bisect.py`"
#: ../Doc/library/bisect.rst:14
msgid ""
"This module provides support for maintaining a list in sorted order without "
"having to sort the list after each insertion. For long lists of items with "
"expensive comparison operations, this can be an improvement over linear "
"searches or frequent resorting."
msgstr ""
"Este módulo brinda soporte para mantener una lista ordenada sin tener que "
"reordenar la lista tras cada nueva inserción. Para listas largas de "
"elementos que tienen operaciones de comparación costosas, esto puede suponer "
"una mejora con respecto a las búsquedas lineales o el reordenado frecuente."
#: ../Doc/library/bisect.rst:19
msgid ""
"The module is called :mod:`bisect` because it uses a basic bisection "
"algorithm to do its work. Unlike other bisection tools that search for a "
"specific value, the functions in this module are designed to locate an "
"insertion point. Accordingly, the functions never call an :meth:`__eq__` "
"method to determine whether a value has been found. Instead, the functions "
"only call the :meth:`__lt__` method and will return an insertion point "
"between values in an array."
msgstr ""
"El módulo se llama :mod:`bisect` porque utiliza un algoritmo básico de "
"bisección para realizar su trabajo. A diferencia de otras herramientas de "
"bisección que buscan un valor específico, las funciones de este módulo están "
"diseñadas para localizar un punto de inserción. En consecuencia, las "
"funciones nunca llaman a un método :meth:`__eq__` para determinar si se ha "
"encontrado un valor. En su lugar, las funciones sólo llaman al método :meth:"
"`__lt__` y devolverán un punto de inserción entre valores de un arreglo."
#: ../Doc/library/bisect.rst:29
msgid "The following functions are provided:"
msgstr "Las siguientes funciones están disponibles:"
#: ../Doc/library/bisect.rst:34
msgid ""
"Locate the insertion point for *x* in *a* to maintain sorted order. The "
"parameters *lo* and *hi* may be used to specify a subset of the list which "
"should be considered; by default the entire list is used. If *x* is already "
"present in *a*, the insertion point will be before (to the left of) any "
"existing entries. The return value is suitable for use as the first "
"parameter to ``list.insert()`` assuming that *a* is already sorted."
msgstr ""
"Ubicar el punto de inserción para *x* en *a* para mantener el ordenamiento. "
"Los parámetros *lo* (inferior) y *hi* (superior) pueden utilizarse para "
"especificar un subconjunto de la lista que debería considerarse; por defecto "
"se utiliza la lista completa. Si *x* ya está presente en *a*, el punto de "
"inserción será antes (a la izquierda) de cualquier elemento existente. El "
"valor de retorno es adecuado para que se utilice como primer parámetro para "
"``list.insert()``, suponiendo que *a* ya está ordenada."
#: ../Doc/library/bisect.rst:41
msgid ""
"The returned insertion point *ip* partitions the array *a* into two slices "
"such that ``all(elem < x for elem in a[lo : ip])`` is true for the left "
"slice and ``all(elem >= x for elem in a[ip : hi])`` is true for the right "
"slice."
msgstr ""
"El punto de inserción retornado *ip* divide el arreglo *a* en dos partes, de "
"modo que ``all(elem < x for elem in a[lo : ip])`` es verdadero para el lado "
"izquierdo y ``all(elem >= x for elem in a[ip : hi])`` es verdadero para el "
"lado derecho."
#: ../Doc/library/bisect.rst:46
msgid ""
"*key* specifies a :term:`key function` of one argument that is used to "
"extract a comparison key from each element in the array. To support "
"searching complex records, the key function is not applied to the *x* value."
msgstr ""
"*key* especifica una :term:`función clave` de un argumento que es usada para "
"extraer una clave de comparación de cada elemento en el arreglo. La función "
"clave no se aplica a *x* para facilitar la búsqueda de registros complejos."
#: ../Doc/library/bisect.rst:50
msgid ""
"If *key* is ``None``, the elements are compared directly and no key function "
"is called."
msgstr ""
"Si *key* es ``None``, los elementos se comparan directamente y ninguna "
"función clave es llamada."
#: ../Doc/library/bisect.rst:53 ../Doc/library/bisect.rst:67
#: ../Doc/library/bisect.rst:85 ../Doc/library/bisect.rst:105
msgid "Added the *key* parameter."
msgstr "Se agregó el parámetro *key*."
#: ../Doc/library/bisect.rst:60
msgid ""
"Similar to :py:func:`~bisect.bisect_left`, but returns an insertion point "
"which comes after (to the right of) any existing entries of *x* in *a*."
msgstr ""
"Similar a :py:func:`~bisect.bisect_left`, pero retorna un punto de inserción "
"que viene después (a la derecha) de cualquier entrada existente de *x* en "
"*a*."
#: ../Doc/library/bisect.rst:63
msgid ""
"The returned insertion point *ip* partitions the array *a* into two slices "
"such that ``all(elem <= x for elem in a[lo : ip])`` is true for the left "
"slice and ``all(elem > x for elem in a[ip : hi])`` is true for the right "
"slice."
msgstr ""
"El punto de inserción retornado *ip* divide el arreglo *a* en dos partes, de "
"modo que ``all(elem <= x for elem in a[lo : ip])`` es verdadero para el "
"lado izquierdo y ``all(elem > x for elem in a[ip : hi])`` es verdadero para "
"el lado derecho."
#: ../Doc/library/bisect.rst:73
msgid "Insert *x* in *a* in sorted order."
msgstr "Inserte *x* en *a* en orden ordenado."
#: ../Doc/library/bisect.rst:75
msgid ""
"This function first runs :py:func:`~bisect.bisect_left` to locate an "
"insertion point. Next, it runs the :meth:`insert` method on *a* to insert "
"*x* at the appropriate position to maintain sort order."
msgstr ""
"Esta función ejecuta primero :py:func:`~bisect.bisect_left` para localizar "
"un punto de inserción. A continuación, ejecuta el método :meth:`insert` en "
"*a* para insertar *x* en la posición adecuada para mantener el orden."
#: ../Doc/library/bisect.rst:79 ../Doc/library/bisect.rst:99
msgid ""
"To support inserting records in a table, the *key* function (if any) is "
"applied to *x* for the search step but not for the insertion step."
msgstr ""
"Para mantener la inserción de registros en una tabla, la función *key* (en "
"caso de existir) se aplica a *x* en el paso de búsqueda pero no en el paso "
"de inserción."
#: ../Doc/library/bisect.rst:82 ../Doc/library/bisect.rst:102
msgid ""
"Keep in mind that the ``O(log n)`` search is dominated by the slow O(n) "
"insertion step."
msgstr ""
"Tenga en cuenta que la búsqueda ``O(log n)`` está dominada por el lento paso "
"de inserción O(n)."
#: ../Doc/library/bisect.rst:92
msgid ""
"Similar to :py:func:`~bisect.insort_left`, but inserting *x* in *a* after "
"any existing entries of *x*."
msgstr ""
"Similar a :py:func:`~bisect.insort_left`, pero inserta *x* en *a* después de "
"cualquier entrada de *x* existente."
#: ../Doc/library/bisect.rst:95
msgid ""
"This function first runs :py:func:`~bisect.bisect_right` to locate an "
"insertion point. Next, it runs the :meth:`insert` method on *a* to insert "
"*x* at the appropriate position to maintain sort order."
msgstr ""
"Esta función primero ejecuta :py:func:`~bisect.bisect_right` para localizar "
"un punto de inserción. A continuación, ejecuta el método :meth:`insert` en "
"*a* para insertar *x* en la posición adecuada para mantener el orden."
#: ../Doc/library/bisect.rst:110
msgid "Performance Notes"
msgstr "Notas de rendimiento"
#: ../Doc/library/bisect.rst:112
msgid ""
"When writing time sensitive code using *bisect()* and *insort()*, keep these "
"thoughts in mind:"
msgstr ""
"Al escribir código sensible al tiempo usando *bisect()* y *insort()*, tenga "
"en cuenta estos pensamientos:"
#: ../Doc/library/bisect.rst:115
msgid ""
"Bisection is effective for searching ranges of values. For locating specific "
"values, dictionaries are more performant."
msgstr ""
"La bisección es eficaz para buscar rangos de valores. Para localizar valores "
"específicos, los diccionarios son más eficaces."
#: ../Doc/library/bisect.rst:118
msgid ""
"The *insort()* functions are ``O(n)`` because the logarithmic search step is "
"dominated by the linear time insertion step."
msgstr ""
"Las funciones *insort()* son ``O(n)`` porque el paso de búsqueda logarítmica "
"está dominado por el paso de inserción de tiempo lineal."
#: ../Doc/library/bisect.rst:121
msgid ""
"The search functions are stateless and discard key function results after "
"they are used. Consequently, if the search functions are used in a loop, "
"the key function may be called again and again on the same array elements. "
"If the key function isn't fast, consider wrapping it with :py:func:"
"`functools.cache` to avoid duplicate computations. Alternatively, consider "
"searching an array of precomputed keys to locate the insertion point (as "
"shown in the examples section below)."
msgstr ""
"Las funciones de búsqueda no tienen estado y descartan los resultados de las "
"funciones clave después de ser usadas. En consecuencia, si las funciones de "
"búsqueda se utilizan en un bucle, la función clave se puede llamar una y "
"otra vez en los mismos elementos del arreglo. Si la función clave no es "
"rápida, considere envolverla con :func:`functools.cache` para evitar "
"cálculos duplicados. Alternativamente, considere buscar un arreglo de claves "
"precalculadas para ubicar el punto de inserción (como se muestra en la "
"sección de ejemplos a continuación)."
#: ../Doc/library/bisect.rst:131
msgid ""
"`Sorted Collections `_ is a "
"high performance module that uses *bisect* to managed sorted collections of "
"data."
msgstr ""
"`Sorted Collections `_ es un "
"módulo de alto rendimiento que utiliza *bisect* para gestionar colecciones "
"de datos ordenadas."
#: ../Doc/library/bisect.rst:135
msgid ""
"The `SortedCollection recipe `_ uses bisect to build a full-featured collection class "
"with straight-forward search methods and support for a key-function. The "
"keys are precomputed to save unnecessary calls to the key function during "
"searches."
msgstr ""
"El `SortedCollection recipe `_ usa bisect para construir una clase de colección con "
"todas las funciones con métodos de búsqueda sencillos y soporte para una "
"función clave. Las claves se calculan previamente para ahorrar llamadas "
"innecesarias a la función clave durante las búsquedas."
#: ../Doc/library/bisect.rst:143
msgid "Searching Sorted Lists"
msgstr "Búsqueda en listas ordenadas"
#: ../Doc/library/bisect.rst:145
msgid ""
"The above `bisect functions`_ are useful for finding insertion points but "
"can be tricky or awkward to use for common searching tasks. The following "
"five functions show how to transform them into the standard lookups for "
"sorted lists::"
msgstr ""
"Las `bisect functions`_ anteriores son útiles para encontrar puntos de "
"inserción, pero pueden resultar difíciles o engorrosas para tareas de "
"búsqueda habituales. Las siguientes cinco funciones muestran cómo "
"convertirlas en búsquedas estándar para listas ordenadas::"
#: ../Doc/library/bisect.rst:187
msgid "Examples"
msgstr "Ejemplos"
#: ../Doc/library/bisect.rst:191
msgid ""
"The :py:func:`~bisect.bisect` function can be useful for numeric table "
"lookups. This example uses :py:func:`~bisect.bisect` to look up a letter "
"grade for an exam score (say) based on a set of ordered numeric breakpoints: "
"90 and up is an 'A', 80 to 89 is a 'B', and so on::"
msgstr ""
"La función :py:func:`~bisect.bisect` puede ser útil para búsquedas en tablas "
"numéricas. Este ejemplo utiliza :py:func:`~bisect.bisect` para buscar una "
"calificación de un examen (digamos) dada por una letra, basándose en un "
"conjunto de punto de corte numéricos ordenados: 90 o más es una 'A', de 80 a "
"89 es una 'B', y así sucesivamente::"
#: ../Doc/library/bisect.rst:203
msgid ""
"The :py:func:`~bisect.bisect` and :py:func:`~bisect.insort` functions also "
"work with lists of tuples. The *key* argument can serve to extract the "
"field used for ordering records in a table::"
msgstr ""
"Las funciones :py:func:`~bisect.bisect` y :py:func:`~bisect.insort` también "
"funcionan con listas de tuplas. El argumento *key* puede usarse para extraer "
"el campo usado para ordenar registros en una tabla::"
#: ../Doc/library/bisect.rst:237
msgid ""
"If the key function is expensive, it is possible to avoid repeated function "
"calls by searching a list of precomputed keys to find the index of a record::"
msgstr ""
"Para evitar llamadas repetidas a la función clave, cuando ésta usa muchos "
"recursos, se puede buscar en una lista de claves previamente calculadas para "
"encontrar el índice de un registro::"