这个问题可能听起来很主观,但正如“禅宗”所说,有(几乎总是)一种首选方法,它最终不应该是主观的。
哪种方式更好?
[i.something() for i in l]
map(operator.methodcaller('something'), l)
map(lambda x: x.something(), l)
(1)是(IMO)非常清楚,但在许多答案中,map()
都使用了。如果我们这样做,(2) 和 (3) 之间的可读性几乎相同(至少在 IMO)。
许多其他任务也是如此,但我选择了这个,因为它可以代表所有类似的任务。