<p>我在hackerrank上见过很多这样的循环,但我仍然不明白它们是如何工作的。为什么它有一个常量整数“1”?不应该是“i”而不是“1”吗?谁能给我解释一下吗。你知道吗</p>
<pre><code>sum (1 for i in l if i >= a and i <= b)
</code></pre>
<p>信用到期时的信用。我从Shashwat的一个非常优雅的问题解决方案中复制了这个循环。这个问题是“夏洛克和广场”在黑客银行算法的好奇者。你知道吗</p>
<p>在你的例子中,他们基本上是为l中的每一项加1,如果该项大于或等于a,而该项小于或等于b</p>
<p>这基本上等于这个代码:</p>
<pre><code>x = []
for i in l:
if i >=a and i <= b:
x.append(1)
sum(x)
</code></pre>