mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
GH-104145: Use fully-qualified cross reference types for the bisect module (#104172)
This commit is contained in:
parent
921185ed05
commit
76eef552f3
1 changed files with 12 additions and 10 deletions
|
@ -24,6 +24,8 @@ 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.
|
||||
|
||||
.. _bisect functions:
|
||||
|
||||
The following functions are provided:
|
||||
|
||||
|
||||
|
@ -55,7 +57,7 @@ The following functions are provided:
|
|||
.. function:: bisect_right(a, x, lo=0, hi=len(a), *, key=None)
|
||||
bisect(a, x, lo=0, hi=len(a), *, key=None)
|
||||
|
||||
Similar to :func:`bisect_left`, but returns an insertion point which comes
|
||||
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*.
|
||||
|
||||
The returned insertion point *ip* partitions the array *a* into two slices
|
||||
|
@ -70,7 +72,7 @@ The following functions are provided:
|
|||
|
||||
Insert *x* in *a* in sorted order.
|
||||
|
||||
This function first runs :func:`bisect_left` to locate an insertion point.
|
||||
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.
|
||||
|
||||
|
@ -87,10 +89,10 @@ The following functions are provided:
|
|||
.. function:: insort_right(a, x, lo=0, hi=len(a), *, key=None)
|
||||
insort(a, x, lo=0, hi=len(a), *, key=None)
|
||||
|
||||
Similar to :func:`insort_left`, but inserting *x* in *a* after any existing
|
||||
Similar to :py:func:`~bisect.insort_left`, but inserting *x* in *a* after any existing
|
||||
entries of *x*.
|
||||
|
||||
This function first runs :func:`bisect_right` to locate an insertion point.
|
||||
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.
|
||||
|
||||
|
@ -120,7 +122,7 @@ thoughts in mind:
|
|||
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
|
||||
:func:`functools.cache` to avoid duplicate computations. Alternatively,
|
||||
: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).
|
||||
|
||||
|
@ -140,7 +142,7 @@ thoughts in mind:
|
|||
Searching Sorted Lists
|
||||
----------------------
|
||||
|
||||
The above :func:`bisect` functions are useful for finding insertion points but
|
||||
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::
|
||||
|
@ -186,8 +188,8 @@ Examples
|
|||
|
||||
.. _bisect-example:
|
||||
|
||||
The :func:`bisect` function can be useful for numeric table lookups. This
|
||||
example uses :func:`bisect` to look up a letter grade for an exam score (say)
|
||||
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::
|
||||
|
||||
|
@ -198,8 +200,8 @@ a 'B', and so on::
|
|||
>>> [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]
|
||||
['F', 'A', 'C', 'C', 'B', 'A', 'A']
|
||||
|
||||
The :func:`bisect` and :func:`insort` functions also work with lists of
|
||||
tuples. The *key* argument can serve to extract the field used for ordering
|
||||
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::
|
||||
|
||||
>>> from collections import namedtuple
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue