python str.replace не получает аргументов - PullRequest
2 голосов
/ 06 августа 2011

Я сортирую список, используя функцию key =, я сортирую список названий песен, написанных на LaTeX.

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

Проблема в том, что при запуске функции она говорит: «TypeError: replace () принимает как минимум 2 аргумента (получил один)

1 Ответ

6 голосов
/ 06 августа 2011

Ваш ключевой параметр должен быть вызываемым.Вы отправляете строку сейчас, это ошибка.

Вы можете попробовать это:

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

И для сортировки на месте

songs.sort(key=lambda s: s.replace('$\lambda$','lambda'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...