Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Diccionario:
- def __init__(self): #Falta por ajustar unas cosas
- #Por ejemplo, que sea agrande la lista, o en vez de agrandarse,
- #que al index obtenido mediante hash() se le aplique un resto
- #para que quepa en la lista
- self.lista=[[(0,0)] for i in range(10000)]
- def __setitem__(self,clave,valor):
- esta=False
- for i in range(len(self.lista[hash(clave)%10000])):
- if clave==self.lista[hash(clave)%10000][i][1]:
- esta=True
- x=i
- if esta:
- self.lista[hash(clave)%10000][x]=valor,clave
- else:
- self.lista[hash(clave)%10000].append((valor,clave))
- def __getitem__(self,clave):
- for i in range(len(self.lista[hash(clave)%10000])):
- if clave==self.lista[hash(clave)%10000][i][1]:
- return self.lista[hash(clave)%10000][i][0]
- def eliminar(self,clave):
- for i in range(len(self.lista[hash(clave)])):
- if clave==self.lista[hash(clave)][i][1]:
- del self.lista[hash(clave)][i]
- def pop(self,clave):
- for i in range(len(self.lista[hash(clave)])):
- if clave==self.lista[hash(clave)][i][1]:
- x=self.lista[hash(clave)][i][0]
- del self.lista[hash(clave)][i]
- return x
- def __contains__(self,clave):
- for i in range(len(self.lista[hash(clave)])):
- if clave==self.lista[hash(clave)][i][1]:
- return True
- return False
- def __iter__(self):
- pass
- diccionario1=Diccionario()
- Diccionario.__setitem__(diccionario1,"hola","adrian")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement