Jeste li ikada poželjeli:
1. Pronađite poziciju u sortiranom nizu gdje treba umetnuti novi element
2. Umetnite element u sortirani niz i održavajte redoslijed sortiranja
Ako da, onda je ovo za vas.
Modul Bisect omogućuje vam traženje točke umetanja u sortiranom nizu i kao njeno proširenje za umetanje elementa i održavanje sortiranog redoslijeda. Ključna riječ je da je niz već sortiran nekim redoslijedom.
Službeni dokumenti su ovdje
Izvorni kod je ovdje
U modulu su definirane sljedeće metode:
bisect.bisect_left(a, x, lo=0, hi=len(a)) bisect.bisect_right(a, x, lo=0, hi=len(a)) bisect.bisect(a, x, lo=0, hi=len(a)) bisect.insort_left(a, x, lo=0, hi=len(a)) bisect.insort_right(a, x, lo=0, hi=len(a)) bisect.insort(a, x, lo=0, hi=len(a))
Pogledajmo sada nekoliko jednostavnih primjera koji ilustriraju metode. Razmotrimo slučaj gdje je element već prisutan:
>>> l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> bisect.bisect_left(l, 5)
5
>>> bisect.bisect_right(l, 5)
6
>>> bisect.bisect(l, 5)
6
Kao što ste mogli vidjeti gore, | _+_ | je sličan | _+_ | ali | _+_ | vraća točku umetanja koja dolazi iza (desno od) svih postojećih unosa od 5 inča the . U biti | _+_ |. To ste mogli vidjeti u izvornom kodu ovdje na liniji 79.
#python #python3 #bisect #python-programming #array
medij.com
Python - Modul preloma - Pretraživanje i umetanje u razvrstani niz
Modul Bisect omogućuje vam traženje točke umetanja u sortiranom nizu i kao njeno proširenje za umetanje elementa i održavanje sortiranog redoslijeda. Ključna riječ je da je niz već sortiran nekim redoslijedom. Python - Modul preloma - Pretraživanje i umetanje u razvrstani niz.
Vidi Također:
- Kako se rugati GraphQL API-ima s json-graphql-poslužiteljem
- Hyper V vs VMware VS VirtualBox: Što je najbolje za sastanke s Virtualizat
- Vanjske tablice SQL Server PolyBase s Azure Blob Storage
- Waldo Anticheat: Strojno učenje za otkrivanje ciljanja u videoisječcima
- Izradite decentralizirani protokol razmjene poput PancakeSwap -a na pametnom lancu Binance