glg*_*lgl 10 python zen-of-python
这个问题可能听起来很主观,但正如"禅宗"所说的那样,(几乎总是)有一种方式可以优先考虑,最后不应该是主观的.
什么方式更好?
[i.something() for i in l]
map(operator.methodcaller('something'), l)
map(lambda x: x.something(), l)
Run Code Online (Sandbox Code Playgroud)
(1)是(IMO)非常清楚,但在很多答案中,map()都是使用的.如果我们这样做,(2)和(3)之间的可读性几乎相同(IMO,至少).
许多其他任务同样重要,但我选择了这个,因为它可以代表所有类似的任务.
两者都是明确的论据[i.something() for i in l].
这假设.something()不会发生变异i,并且您使用的是Python 2.
| 归档时间: |
|
| 查看次数: |
1178 次 |
| 最近记录: |