__iter__: ajout methode |TP_3.7|UPDATE dico_ord.py

This commit is contained in:
Fred Z 2018-02-02 23:17:31 +01:00
parent 4da9039771
commit bf8b688b9b

View File

@ -68,11 +68,11 @@ class DictionnaireOrdonne:
>>> fruits['betterave'] >>> fruits['betterave']
False False
#>>> for cle in legumes: >>> for cle in legumes:
#... print(cle) ... print(cle)
#... ...
#haricot haricot
#carotte carotte
#>>> legumes.keys() #>>> legumes.keys()
#['haricot', 'carotte'] #['haricot', 'carotte']
@ -141,6 +141,15 @@ class DictionnaireOrdonne:
del self.kl[index_to_del] del self.kl[index_to_del]
del self.vl[index_to_del] del self.vl[index_to_del]
def __iter__(self):
"""
L'objet doit pouvoir etre parcouru.
Quand on ecrit for cle in dictionnaire, on doit parcourir
la liste des cles contenues dans le dictionnaire.
"""
for label in self.kl.__iter__():
yield label
def __getitem__(self, item_to_get): def __getitem__(self, item_to_get):
""" Acces aux crochets pour recuperer une valeur (objet[cle]) """ """ Acces aux crochets pour recuperer une valeur (objet[cle]) """
try: try:
@ -150,7 +159,6 @@ class DictionnaireOrdonne:
else: else:
print(self.vl[find_key]) print(self.vl[find_key])
def __len__(self): def __len__(self):
""" Retourne la taille de l'objet grace a la fonction len """ """ Retourne la taille de l'objet grace a la fonction len """
return len(self.kl) return len(self.kl)
@ -218,21 +226,15 @@ class DictionnaireOrdonne:
""" """
return self.sort(reverse=True) return self.sort(reverse=True)
#def __setattr__(): #def ():
#""" Function doc """ #""" A l'instar
#des dictionnaires, trois methodes keys() (renvoyant la liste
#def generateur(): #des cles), values() (renvoyant la liste des valeurs) et
#""" #items() (renvoyant les couples (cle, valeur)) doivent etre
#L'objet doit pouvoir etre parcouru. #mises en œuvre. Le type de retour de ces methodes est laisse
#Quand on ecrit for cle in dictionnaire, on doit parcourir #a votre initiative : il peut s'agir d'iterateurs ou de
#la liste des cles contenues dans le dictionnaire. A l'instar #generateurs (tant qu'on peut les parcourir)
#des dictionnaires, trois methodes keys() (renvoyant la liste #"""
#des cles), values() (renvoyant la liste des valeurs) et
#items() (renvoyant les couples (cle, valeur)) doivent etre
#mises en œuvre. Le type de retour de ces methodes est laisse
#a votre initiative : il peut s'agir d'iterateurs ou de
#generateurs (tant qu'on peut les parcourir).
#"""
if __name__ == "__main__": if __name__ == "__main__":