無効な構文エラーを投げ続けていくつかのpythonコード:lambdaを使用してこのPythonコードの何が問題になっていますか?
stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1)
無効な構文エラーを投げ続けていくつかのpythonコード:lambdaを使用してこのPythonコードの何が問題になっていますか?
stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1)
これは、より良いソリューションです:
stat.sort(key=lambda x: x.created_at, reverse=True)
あるいは、回避するために、ラムダ:
from operator import attrgetter
stat.sort(key=attrgetter('created_at'), reverse=True)
+1;私はそれをちょうど入れようとしていた。 – JAB
+1、それは私の答えより読みやすく、明らかに速いです:http://docs.python.org/library/stdtypes.html#typesseq-mutable。 –
元の要件に一致するように、単にreverse = Trueが追加されました。 –
は試してみてくださいand-or trick:
lambda x1, y1: x1.created_at < y1.created_at and 1 or -1
and-or hackは醜いので、もう必要ありません。それを避けるために条件式が正確に導入されました。 –
問題に「)」がないか、それとも入力ミスですか? – Juergen
オリジナルの間違ったバージョンに戻すことはできますか?それ以外の場合は混乱します。 –
有用な回答の1つを受け入れる必要があります;););) –