reversed() est une fonction que tu pourrais écrire toi-même. La preuve, je te fais une implémentation naïve en trois lignes :
def reversed(l):
... for i in xrange(len(l)-1, -1, -1):
......yield l[i]
Voire, encore plus court :
def reversed(l):
... return (l[i] for i in xrange(len(l)-1, -1, -1))
(la construction (f(x) for x in iterable) est assez récente, c’est une sorte de map que l’on retrouve dans les langages fonctionnels, mais qui travaille (et renvoie) sur des itérateurs au lieu de listes)
Et c’est bien une méthode de parcours, pas la construction d’une liste en sens inverse.
[^] # Re: Première remarques
Posté par Moonz . En réponse à la dépêche Go : Un nouveau langage chez Google. Évalué à 2.
def reversed(l):
... for i in xrange(len(l)-1, -1, -1):
......yield l[i]
Voire, encore plus court :
def reversed(l):
... return (l[i] for i in xrange(len(l)-1, -1, -1))
(la construction (f(x) for x in iterable) est assez récente, c’est une sorte de map que l’on retrouve dans les langages fonctionnels, mais qui travaille (et renvoie) sur des itérateurs au lieu de listes)
Et c’est bien une méthode de parcours, pas la construction d’une liste en sens inverse.