Buondì,<br><br>la mia situazione è più o meno questa:<br>ho un dizionario in input di lunghezza indefinita (non ho proprio modo di sapere a priori quale sarà il limite massimo, essendo un insieme di elementi in cui fare una ricerca).<br>
<br>Ho poi la necessità di fare, in base ad altri dati in input, numerose ricerche sul dizionario. La ricerca la faccio semplicemente comparando la chiave, e in caso di match restituire il valore.<br>In altri linguaggi avrei pensato prima di tutto ad ottimizzare l'algoritmo di ricerca, ma in python faccio semplicemente uso di 'x in dict.keys()'<br>
Mi chiedevo quindi, essendo il numero di ricerche davvero molto elevato (ed essendo il numero di elementi dell'insieme virtualmente illimitato), ci sono oggetti che risultano essere più performanti del dizionario sia per la ricerca che per l'estrazione di un valore?<br>
Potrei organizzare una tupla assumendo alcune convenzioni (per esempio, sui numeri dispari ci sono le chiavi, su quelli pari ci sono i valori, cosi da ricavare la posizione della chiave, aggiungere uno e ricavare il valore).<br>
<br>Ho fatto dei test e ho visto che la set() risulta essere la più performante ma purtroppo io ho la necessità di ricavare la posizione degli elementi (per estrarre poi il valore collegato alla chiave) e quindi non posso usarla, poi ho visto gli oggetti del modulo collections ma non li ho testati.<br>
<br>La chiave deve essere unica (quindi se l'oggetto in questione lo richiede non è un problema), se l'oggetto non fà il controllo lo posso fare tranquillamente io quando converto (eventualmente) il dizionario in un oggetto che mi dà maggiori benefici in termini prestazionali.<br>
<br>Tutti i suggerimenti sono ben graditi,<br>buona giornata a tutti.<br>