【问题标题】:Does It affect the memory consumption in program它会影响程序中的内存消耗吗
【发布时间】:2021-06-15 18:02:50
【问题描述】:
return sum(x for x in list)
vs 
for x in list:
   sum+=x
return sum

第一个语句执行速度是否更快,并且两个程序使用的内存是否相同。 我无法专门找到这个答案/

【问题讨论】:

  • sum(list) 呢?
  • @ScottHunter 是的,它可以是,但它可以是奇数甚至偶数的总和。我担心的是单行代码与逐步代码的区别。
  • @OsourceAll 谢谢。还有一个后续问题,第一个程序是否包含变量 sum 的副本
  • sum 不是变量。
  • “我担心的是单行代码与逐步代码的差异”,这与性能无关。这里的两段代码具有相同的时间/空间复杂度。您是否尝试分析您的代码以找出哪个更快(如果有)?

标签: python memory-management


【解决方案1】:

在大多数情况下几乎没有区别。如果您确实内存受限,请使用 sum,因为它已经过优化(但 Python 和本机列表应该是您更关心的问题)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 2013-02-22
    • 2010-10-08
    相关资源
    最近更新 更多