Il existe une fonction existante qui se termine par ce qui suit, où d
est un dictionnaire:
return d.iteritems()
qui renvoie un itérateur non trié pour un dictionnaire donné. Je voudrais retourner un itérateur qui parcourt les éléments triés par clé . Comment je fais ça?
Je n'ai pas testé cela de manière très approfondie, mais fonctionne en Python 2.5.2.
>>> d = {"x":2, "h":15, "a":2222}
>>> it = iter(sorted(d.iteritems()))
>>> it.next()
('a', 2222)
>>> it.next()
('h', 15)
>>> it.next()
('x', 2)
>>>
Si vous avez l'habitude de faire à la for key, value in d.iteritems(): ...
place des itérateurs, cela fonctionnera toujours avec la solution ci-dessus
>>> d = {"x":2, "h":15, "a":2222}
>>> for key, value in sorted(d.iteritems()):
>>> print(key, value)
('a', 2222)
('h', 15)
('x', 2)
>>>
Avec Python 3.x, utilisez d.items()
au lieu de d.iteritems()
pour renvoyer un itérateur.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots