<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>
<pre><code>sum (1 for i in l if i >= a and i <= b)
</code></pre>
<p>它要做的是,仅当条件<code>i >= a and i <= b</code>在<code>l</code>和<code>i</code>作为迭代器进行迭代时通过,才创建1的生成器表达式。你知道吗</p>
<p>然后,<code>sum</code>将所有1相加。你知道吗</p>