2011-08-06 6 views
2

私はキー=関数を使ってリストをソートしています。私はLaTeXで書かれた曲のリストをソートしています。python str.replace引数が取得されない

songs = sorted(songs, key=str.replace('$\lambda$','lambda')) 

問題は、関数が実行されるとき、それは言うことです:「例外TypeError:交換するには、()あなたのキーパラメータは呼び出し可能でなければなりません

答えて

6

(1つを得た)少なくとも2つの引数を取りますが、文字列を送信しています。今、これは誤りである

あなたはこの試みることができる:。

をソートするには、場所

songs = sorted(songs, key=lambda s: s.replace('$\lambda$','lambda')) 

とのために

songs.sort(key=lambda s: s.replace('$\lambda$','lambda')) 
+0

ありがとうございました!ちょうど正しい答え。 – Martinnj

+0

より高速ですが、インポートが必要な 'functools'の' partial'を使用してください。 – agf

関連する問題