Iterar en diccionario
Alexis Roda
alexis.roda en urv.es
Mar Sep 7 16:37:09 CEST 2004
Packo wrote:
> Gracias a los dos, duda resuelta, sabía que los diccionarios no tienen orden
> pero pensaba que habría alguna manera nativa de la clase para emularlo, en
> fin muchas gracias, lo que habeis dicho me vale, voy a probar primero la
> clave ordeny si no pues me decido a por una lista de listas.
>
Prueba con algo asi:
class midict :
def __init__(self) :
self._dict = {}
self._list = []
def __getitem__(self, k) :
return self._dict[k]
def __setitem__(self, k, v) :
self._dict[k] = v
if not k in self._list :
self._list.append(k)
def __delitem__(self, k):
del self._dict[k]
self._list.remove(k)
def keys(self) : # keys normal
return self._dict.keys()
def keys2(self) : # keys con memoria
return self._list
Los objectos midict emulan parcialmente diccionarios y recuerdan el
orden de las claves. En este ejemplo, si insertas dos veces un valor con
la misma clave recuerda el primero.
Saludos
--
////
(@ @)
----------------------------oOO----(_)----OOo--------------------------
<> Ojo por ojo y el mundo acabara ciego
/\ Alexis Roda - Universitat Rovira i Virgili - Reus, Tarragona (Spain)
-----------------------------------------------------------------------
Más información sobre la lista de distribución Python-es