Je suis venu ajouter :
map(str.strip, string.split(','))
mais a vu que cela avait déjà été mentionné par Jason Orendorff dans un commentaire .
En lisant le commentaire de Glenn Maynard dans la même réponse, qui suggérait de préférer les listes de compréhension aux cartes, je me suis demandé pourquoi. J'ai supposé qu'il voulait dire pour des raisons de performance, mais bien sûr il aurait pu vouloir dire pour des raisons stylistiques, ou autre chose (Glenn ?).
Un test rapide (peut-être erroné ?) sur ma boîte en appliquant les trois méthodes dans une boucle a donc révélé.. :
[word.strip() for word in string.split(',')]
$ time ./list_comprehension.py
real 0m22.876s
map(lambda s: s.strip(), string.split(','))
$ time ./map_with_lambda.py
real 0m25.736s
map(str.strip, string.split(','))
$ time ./map_with_str.strip.py
real 0m19.428s
réalisation de map(str.strip, string.split(','))
le gagnant, bien qu'il semble qu'ils soient tous dans la même fourchette.
Il est certain qu'une carte (avec ou sans lambda) ne doit pas nécessairement être exclue pour des raisons de performances, et pour moi, elle est au moins aussi claire qu'une compréhension de liste.
Editar:
Python 2.6.5 sur Ubuntu 10.04