Che*_*eso 3 python list-comprehension
在Python教程中,它说:

为什么?我不认为理解是如何"更灵活"的.在我看来,只是语法上的差异.我可以轻松地做到:
def my_round(i):
return str(round(355/113.0, i))
a = map(my_round, range(1, 6))
Run Code Online (Sandbox Code Playgroud)
我不认为map()这里缺乏灵活性.
谁能详细说明?
列表推导可以包含嵌套循环和条件:
nonzeros = [val for y in rows
for val in y.cols
if val != 0]
Run Code Online (Sandbox Code Playgroud)
小智 6
差异相对较小,但您必须编写一个def包含名称的完全成熟或lambda使用非平凡表达式map,而您可以在列表解析中使用它们.此外,列表推导包括过滤,而您需要单独filter调用(低效率,并且parens快速增长超出可以轻松管理的范围).
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |