擅长:python、mysql、java
<p>如果你不能使用发电机,那么它的长度就不能满足要求:</p>
<pre><code>def join_while_too_short(it, length):
it = iter(it)
while True:
current = next(it)
while len(current) < length:
current += ' ' + next(it)
yield current
</code></pre>
<p>在输入上运行此选项时,将生成正确的结果:</p>
^{pr2}$
<p>它不会真正有效,因为它会不断地格式化字符串,您也可以将它们收集为list并在生成之前将它们连接起来,但是这个版本应该更清楚地说明原理。在</p>
<hr/>
<p>请注意,这一要求可能并不总是得到满足,因为结尾可能没有足够的项来创建所需长度的字符串。但是你说你要“考虑下一个元素,直到达到期望的长度”。而目前的方法正是这样做的。在</p>