為什么循環標頭相對于正文的位置與其通常的位置不同?為什么循環變量出現在循環之前?代碼取自各種程序 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))
1 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
從技術上講,它不是一個循環。這就是所謂的理解語法,從Haskell借用到Python中(參見完整譜系的注釋)。為了遵循集合的數學符號傳統,并將理解與通常的循環區分開來,類似循環的枚舉器出現在符號的末尾。
在這里找到更多關于Python中各種理解和生成器表達式的歷史,http://python-history.blogspot.com/2010/06/from-list-comprehensions-to-generator.html
注意。表達式的第一個包含列表理解,列表理解是第一個也是最流行的 python 理解。第二個包含一個生成器表達式,但是,根據 PEP 289,該表達式最初稱為生成器理解。
添加回答
舉報
0/150
提交
取消