哪个更好的选择,使用Map或For循环?

这个问题在这里已经有了答案:

  • 列表理解和功能函数比“for循环”更快吗? 5个答案

  • 正如你写的那样,绝对要使用for循环。 map会在python2.x上创建一个不必要的list (全部为None因为这可能是myfunction的返回值),并且在python3.x上它根本不会调用你的函数,直到你实际遍历结果为止!

    换句话说,只有当你真的想要迭代结果时才使用map 。 切勿将其用于功能的副作用。 为了向前兼容,不要假定map的返回值是一个list - 如果你需要一个list ,使用list comprehension:

    [myfunction(e) for e in lst]
    

    如果你确实需要一个迭代器,并且你试图在类似的生成器表达式和map之间做出决定 - 这可以归结为一个偏好问题。 速度的差异几乎总是可以忽略的。 我认为大多数人喜欢美学方面的生成器表达式,但是一些项目(取决于开发人员)可能更喜欢map 。 与周围的代码一致...


    我想到的一件事是

    for element in list:
        # you can do something to element here
        myfunction(element)
    

    map(myfunction,list)没有办法做同样的事情

    还有一些副作用的考虑。

    链接地址: http://www.djcxy.com/p/69943.html

    上一篇: Which is better option, using Map or a For loop?

    下一篇: php parse Syntax error T