jas*_*son 6 python generator-expression
print max(3 for i in range(4))
#output is 3
Run Code Online (Sandbox Code Playgroud)
使用Python 2.6
3让我失望,继承人我试图解释最新情况.
for range in range(4)使循环循环4次,在每个循环开始时将i从0递增到3.[不知道3在这种情况下意味着什么......] max()返回传递给它的最大迭代次数,结果打印到屏幕上.
这评估为:
print max([3,3,3,3])
Run Code Online (Sandbox Code Playgroud)
......这是一种精心设计的说法print 3
.
expr for x in xs
是一个生成器表达式.通常情况下,你会使用x
在expr
.例如:
[2*i for i in range(4)] #=> [0, 2, 4, 6]
它可以改写为:
nums = []
for i in range(4):
nums.append(3)
print max(nums) # 3! Hurrah!
Run Code Online (Sandbox Code Playgroud)
我希望这使它的无意义变得更加明显.