[Python] Quale tra dict, tuple e oggetti collections risulta essere il più performante?

lex mlist lexmlist a gmail.com
Lun 13 Dic 2010 17:16:01 CET


Io non ho detto che Python non permette di ottimizzare la ricerca, ho per
l'appunto chiesto se esistono magari altri tipi di dati (anche del modulo
collections) che sono pensati appositamente per situazioni analoghe alla
mia, qualcosa di più opportuno di un dizionario (sia per la gestione che per
la ricerca), visto che non ho visto cosa fornisce il modulo collections.

Visto che in Python per ricercare l'elemento mi limito a "x in container" mi
chiedevo su quali elementi tale ricerca potrebbe essere più veloce (che ne
sò io come python gestisce la cosa, per questo chiedo).

Per la tupla ok, il ragionamento ci stà, per il dizionario O(1) è quello che
avevo trovato anche io e quindi da subito ho adottato tale soluzione, ma poi
mi sono imbattuto nel modulo collections che definisce "Tipi di dato
contenitore ad alte prestazioni" (cit.) e quindi mi sono chiesto se magari
ci sono altri contenitori che dovrei valutare.

Riguardo l'ottimizzazione dell'algoritmo di ricerca intendo proprio quello,
in altri linguaggi, ad esempio in C, prima di pensare ad una struttura dati
migliore penserei ad ottimizzare l'algoritmo di ricerca nella struttura che
ho creato per l'occasione.

Comunque non importa, per ora vado avanti coi dizionari, quando ho tempo mi
guardo il modulo collections.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20101213/d17d7bd0/attachment.html>


Maggiori informazioni sulla lista Python