code python qui ne cesse de vomir une erreur de syntaxe non valide:Quel est le problème avec ce peu de code python en utilisant lambda?
stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1)
code python qui ne cesse de vomir une erreur de syntaxe non valide:Quel est le problème avec ce peu de code python en utilisant lambda?
stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1)
Ceci est une meilleure solution:
stat.sort(key=lambda x: x.created_at, reverse=True)
Ou, pour éviter la lambda tout à fait:
from operator import attrgetter
stat.sort(key=attrgetter('created_at'), reverse=True)
+1; J'étais sur le point de mettre ça. – JAB
+1, c'est plus lisible que ma réponse, et apparemment plus rapide: http://docs.python.org/library/stdtypes.html#typesseq-mutable. –
Just added reverse = True pour correspondre à l'exigence d'origine. –
Essayez le and-or trick:
lambda x1, y1: x1.created_at < y1.created_at and 1 or -1
Le et-ou bidouille est moche et n'est plus nécessaire. Des expressions conditionnelles ont été introduites précisément pour l'éviter. –
Appartient le ")" manquant au problème ou est-ce une faute de frappe? – Juergen
Pouvez-vous revenir à l'original, la mauvaise version? Sinon, c'est confus. –
Vous devriez accepter l'une des réponses qui ont été utiles;););) –