【问题标题】:Difference between zip() functions in Python 2 and Python 3 [duplicate]Python 2 和 Python 3 中的 zip() 函数之间的区别 [重复]
【发布时间】:2018-04-10 06:09:34
【问题描述】:

我想知道 python 2 和 python 3 中的 zip() 函数有什么区别。我注意到在这两个函数上使用timeit 模块时,python 3 函数要快得多。提前非常感谢:)

【问题讨论】:

  • 一件事是在Python3中,它返回一个generator
  • Python 2 的 zip 构建并返回一个列表。 Python 3 的 zip 返回一个惰性迭代器。如果您实际上对它们进行了迭代,Python 3 将节省内存但具有相同的效果。但是如果你从不尝试使用这些值,Python 3 会更聪明,而且永远不会生成它们,这当然快得惊人,但没那么有用。

标签: python zip


【解决方案1】:

Python 2 和 Python 3 的区别在于 Python 3 返回一个迭代器。这种节省内存的想法。

【讨论】:

    【解决方案2】:

    在 Python 3 中,zip() 函数返回一个迭代器,这意味着您只能耗尽一次元素,而 Python 2 本身返回一个可迭代对象。

    请看这里: Python 2 Doc, Python 3 Doc

    【讨论】:

      猜你喜欢
      • 2016-09-02
      • 2015-10-19
      • 2015-05-22
      • 2020-09-13
      • 2022-01-14
      • 1970-01-01
      • 2012-04-08
      • 2015-07-26
      相关资源
      最近更新 更多