【问题标题】:Why does variable locate before the loop [closed]为什么变量在循环之前定位[关闭]
【发布时间】:2020-02-18 15:46:23
【问题描述】:

为什么循环头相对于主体的位置与通常的位置不同?为什么循环变量出现在循环之前? 代码取自各种程序

 n=reduce(operator.mul,[int(x) for x in str(n)],1)
 return value == sum(int(x) ** len(str(value)) for x in str(value))



【问题讨论】:

  • 您具体要问什么?这个问题没有多大意义。你问的是for 部分吗?
  • 这就是列表理解的语法。它不是一个“for”循环。
  • 完美理解,一个典型的新手问题。

标签: python loops for-loop


【解决方案1】:

从技术上讲,它不是一个循环。这就是所谓的理解语法,是从 Haskell 中借用到 Python 中的(请参阅 cmets 了解完整的沿袭)。为了遵循集合的数学符号传统,并将理解与通常的循环区分开来,循环式枚举器出现在符号的末尾。

在此处http://python-history.blogspot.com/2010/06/from-list-comprehensions-to-generator.htmlhttp://python-history.blogspot.com/2010/06/from-list-comprehensions-to-generator.html 中查找更多关于 Python 中各种推导式和生成器表达式的历史

注意。你的第一个表达式包含一个列表推导,列表推导是第一个也是最流行的 Python 推导。第二个包含一个生成器表达式,不过,根据 PEP 289,它最初被称为生成器理解。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2010-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多