我来补充:
map(str.strip, string.split(','))
但是看到Jason Orendorff在评论中已经提到了它。
在同一个答案中读到格伦·梅纳德(Glenn Maynard)的评论,这暗示了人们对地图的理解,我开始怀疑为什么。我以为他是出于性能方面的考虑,但是当然他可能是出于风格方面的原因,或者其他原因(Glenn?)。
因此,在我的盒子上快速地(可能有缺陷?)应用了以下三种方法的测试:
[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
做map(str.strip, string.split(','))赢家,但它似乎他们都在同一个球场。
当然,出于性能原因,不一定要排除map(有或没有lambda),对我来说,它至少与列表理解一样清晰。
编辑:
Ubuntu 10.04上的Python 2.6.5