FIX #8: mise en place de __iter__ & items() |TP_3.7|UPDATE dico_ord.py
This commit is contained in:
parent
90e02e0180
commit
d1dd323309
|
@ -86,11 +86,11 @@ class DictionnaireOrdonne:
|
||||||
>>> legumes.values()
|
>>> legumes.values()
|
||||||
[48, 26]
|
[48, 26]
|
||||||
|
|
||||||
#>>> for nom, qtt in legumes.items():
|
>>> for nom, qtt in legumes.items():
|
||||||
#... print("{0} ({1})".format(nom, qtt))
|
... print("{0} ({1})".format(nom, qtt))
|
||||||
#...
|
...
|
||||||
#haricot (48)
|
haricot (48)
|
||||||
#carotte (26)
|
carotte (26)
|
||||||
|
|
||||||
#>>> mots = {'olive': 51, 'identite': 43, 'mercredi': 25, 'prout': 218, 'assiette': 8, 'truc': 26}
|
#>>> mots = {'olive': 51, 'identite': 43, 'mercredi': 25, 'prout': 218, 'assiette': 8, 'truc': 26}
|
||||||
#>>> mots_ordonne = DictionnaireOrdonne(mots)
|
#>>> mots_ordonne = DictionnaireOrdonne(mots)
|
||||||
|
@ -149,16 +149,8 @@ class DictionnaireOrdonne:
|
||||||
del self._values_list[index_to_del]
|
del self._values_list[index_to_del]
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
"""
|
"""Parcours de l'objet, renvoi l'iterateur des cles"""
|
||||||
L'objet doit pouvoir etre parcouru.
|
return iter(self._keys_list)
|
||||||
Quand on ecrit for cle in dictionnaire, on doit parcourir
|
|
||||||
la liste des cles contenues dans le dictionnaire.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# TODO revoir __iter__ (+iter()) & items()
|
|
||||||
|
|
||||||
for label in self._keys_list.__iter__():
|
|
||||||
yield label
|
|
||||||
|
|
||||||
def __getitem__(self, key_to_get):
|
def __getitem__(self, key_to_get):
|
||||||
""" Acces aux crochets pour recuperer une valeur (objet[cle]) """
|
""" Acces aux crochets pour recuperer une valeur (objet[cle]) """
|
||||||
|
@ -255,16 +247,9 @@ class DictionnaireOrdonne:
|
||||||
return self.sort(reverse=True)
|
return self.sort(reverse=True)
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
"""
|
"""Renvoi un generateur contenant les couples (cle, valeur)"""
|
||||||
La methode values() (renvoyant la liste des valeurs) et
|
for key, val in enumerate(self._keys_list):
|
||||||
items() (renvoyant les couples (cle, valeur)) doivent etre
|
yield (val, self._values_list[key])
|
||||||
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)
|
|
||||||
"""
|
|
||||||
i = 0
|
|
||||||
while i < len(self._keys_list):
|
|
||||||
yield (self._keys_list[i], self._values_list[i])
|
|
||||||
|
|
||||||
def values(self):
|
def values(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user