[python-nl] Newbie vraag werken met tabeldata

Michiel Overtoom motoom at xs4all.nl
Thu Feb 25 12:08:39 CET 2010


On 25 Feb 2010, at 11:16 , GewoonAnthony wrote:


> Omdat deze berekening heel veel voorkomt wil ik de tabel in
> een variabel gebruiken [...]
> hoe zoek ik het meest efficient bij het bijbehorende bedrag het
> percentage op. [...]
> is het efficient om veel gebruikte tabellen inderdaag in het
> geheugen te laden? En wat is de maximale omvang qua efficiency.

Allemaal vragen die volgens mijn duiden op premature optimization.  Waarom maak je niet eerst iets dat functioneert, en mocht de tabel-lookup een performance bottleneck blijken te zijn, kun je die altijd nog verfijnen.


> 15000     -   16500          25%
> 16500     -    23000         30%

Een eerste aanzet zou kunnen zijn om deze gegevens op te slaan in een list van tuples (ondergrens, bovengrens, precentage), en dan linear te doorzoeken om een percentage te bepalen bij een bepaald bedrag.

Als je tabel geen gaten bevat, maar de schijven mooi opelkaar aansluiten, zou je maar één grens hoeven op te slaan.  En als de lineare zoek te traag blijkt, zou je je tabel gesorteerd in een sequence kunnen zetten en met een binaire zoekmethode (bisect module) razendsnel een percentage op kunnen zoeken.  Maar dan zit je dus al in de optimaliseringsfase ;-)

Groets,





More information about the Python-nl mailing list