[python-nl] fast & simple ?
fjaspers at xs4all.nl
fjaspers at xs4all.nl
Sat Mar 7 16:23:52 CET 2009
Volgens pyDoc geven beide bisect methoden de index in een gesorteerde
lijst waar een nieuwe waarde ingevoerd moet worden, zodanig dat de lijst
gesorteerd blijft.
Slechts als de waarde al voor komt is er een verschil tussen bisect_left
en bisect_right.
bisect_left geeft in dat geval de index voor het (de) element(en) in de
lijst met de gelijke waarde, bisect_right geeft dan de index achter het
(de) element(en) in de lijst met de zelfde waarde.
>>> from bisect import *
>>> a = [0.30, 0.44, 0.66, 0.75, 0.85]
>>> bisect_left(a, 0.44) => 1
>>> bisect_right(a, 0.44) => 2
>>> bisect_left(a, 0.50) => 2
>>> bisect_right(a, 0.50) => 2
Om jou probleem aan te pakken, zou je dan zowel een bisect_right, als een
bisect_left moeten doen met de FACT waarde. Als die aan elkaar gelijk zijn
komt de FACT waarde niet voor en moet je interpoleren, als ze niet aan
elkaar gelijk zijn komt de FACT waarde precies voor, en kan je die
gebruiken.
Tenminste zo begrijp ik het allemaal. :)
Frans Jaspers
More information about the Python-nl
mailing list