最佳答案
这与以下内容有关: (在 Python 代码中)
for i in object:
doSomething(i)
VS
map(doSomething, object)
两者都很容易理解,而且都很短,但是速度上有什么区别吗?现在,如果 doSomething 有一个我们需要检查的返回值,它将作为 map 中的 list 返回,在 for 循环中,我们可以创建自己的 list,或者一次检查一个。
for i in object:
returnValue = doSomething(i)
doSomethingWithReturnValue(returnValue)
VS
returnValue = map(doSomething, object)
map(doSomethingWithReturnValue, returnValue)
现在,我觉得这两者有点分歧。如果在循环过程中动态检查它们,或者在最后一次检查所有它们会产生不同的结果,那么这两个 doSomething WithReturn nValue 函数可能会有所不同。此外,for 循环似乎总是能够工作,也许速度会更慢,因为映射只能在某些场景下工作。当然,我们可以通过扭曲来实现这两种方法中的任何一种,但关键是要避免这种类型的工作。
我所寻找的是一个场景,映射功能在性能、可读性、可维护性或实现速度方面的表现真正优于完美的循环。如果答案是真的没有很大的区别,那么我想知道在实践中人们什么时候使用其中一种或另一种,或者它是否真的完全任意,并根据您的机构的编码标准设置。
谢谢!