Re: [Python-es] Sobrecargar función

Catalin Lungu lcatalin en siadv.com
Mie Feb 9 18:03:11 CET 2005


La clase entera es esta.
También si ves algún otro error haz el favor de decirmelo.

class ListDict(dict):
    def __init__(self, *args):
        self._orden = []
        dict.__init__(self, *args)

    def __setitem__(self, n, v):
        if not n in self._orden:
            self._orden.append(n)
        dict.__setitem__(self, n, v)

    def __delitem__(self, k):
        dict.__delitem__(self, k)
        self._orden.remove(k)

    def keys(self):
        return self._orden

    def values(self):
        res = []
        for item in self._orden:
            if self.has_key(item):
                res.append(self[item])
        return res

    def index(self, n):
        try:
            pos = self._orden.index(n)
        except:
            pos = -1
        return pos

    def count(self):
        return len(self._orden)

    def copy(self):
        c = ListDict(self)
        c._orden = self._orden[:]
        return c 




Más información sobre la lista de distribución Python-es