【发布时间】:2014-02-04 23:55:16
【问题描述】:
这个问题可能听起来很主观,但正如“禅宗”所说,有(几乎总是)一种首选方法,它最终不应该是主观的。
哪种方式更好?
[i.something() for i in l]
map(operator.methodcaller('something'), l)
map(lambda x: x.something(), l)
(1) (IMO) 非常清楚,但在许多答案中,使用了map()。如果我们这样做,则 (2) 和 (3) 之间的可读性几乎相同(至少在 IMO)。
对于许多其他任务同样重要,但我选择了这个,因为它可以代表所有类似的任务。
【问题讨论】:
-
假设
.something()不会以任何方式修改i是否安全? -
总是列出理解。
标签: python zen-of-python