Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
³Użyciewybranejfunkcji
bisect
dopobraniapunktuwstawienia.
·Zbudowaniewzorcapionowychprzedziałówproporcjonalnychdo
offset
.
»Wyświetleniesformatowanegowierszapokazującegowartość
needle
ipunkt
wstawiania.
¿Wybraniefunkcji
bisect
doużyciazgodniezostatnimargumentemwiersza
polecenia.
´Wydrukowanienagłówkaznazwąwybranejfunkcji.
Tozachowaniefunkcji
bisect
możebyćdopracowanenadwasposoby.
Popierwszeparaargumentówopcjonalnych,
lo
i
hi
,pozwalazawęzićregionwsek-
wencjidoprzeszukiwaniapodczaswstawiania.Domyślnąwartością
lo
jest0,a
hi
-dłu-
gość
len()
sekwencji.
Podrugie
bisect
jestfaktyczniealiasemfunkcji
bisect–right
,któramabliźniaczą
funkcję
bisect–left
.Różnicamiędzynimijestwidocznatylkowtedy,gdyporównywana
igłajestrównaelementowizlisty:
bisect–right
zwracapunktwstawianiapoistniejącym
elemencie,a
bisect–left
zwracapołożenieistniejącegoelementu,więcpunktwstawia-
niawystąpiprzedtymelementem.Przyprostychtypach,jak
int
,nierobitoróżnicy,ale
jeślisekwencjazawieraobiekty,któreróżne,alewporównaniurówne,możetomieć
znaczenie.Naprzykład
1
i
1.0
różne,ale
1::1.0
to
True
.Rysunek2-5przedstawia
wynikiużycia
bisect–left
.
Rysunek2-5Wynikprzykładu2-17zużyciembisect_left(porównajzrysunkiem2-4zuży-
ciembisectkażdywierszzaczynasięodnotacjineedle@position,awartość
needlepojawiasięponownieponiżejpunktuwstawianiadosekwencjihaystack
izwróćuwagęnapunktywstawianiawartości1,8,23,29i30polewejstronie
tychsamychliczbwsekwencjihaystack).
Interesującymzastosowaniemfunkcji
bisect
jestwykonanieprzeszukiwaniatabeliwe-
długwartościliczbowych-naprzykład,abykonwertowaćwynikitestunaocenywformie
liter,jakwprzykładzie2-18.
50
|
Rozdział2:Sekwencjeitablice