擅长:python、mysql、java
<p>你可以用<code>str.split</code>来帮助你。在空格上拆分时,剩余段的长度将告诉您拆分已处理字符串的位置:</p>
<pre><code>broken = string.split(' ')
sizes = list(map(len, broken))
</code></pre>
<p>您将需要大小的累计和:</p>
<pre><code>from itertools import accumulate, chain
cs = accumulate(sizes)
</code></pre>
<p>现在可以恢复空间:</p>
<pre><code>processed = ''.join(broken).lower()
processed = processed[::2] + processed[1::2]
chunks = [processed[index:size] for index, size in zip(chain([0], cs), sizes)]
result = ' '.join(chunks)
</code></pre>
<p>这个解决方案不是特别直接或有效,但它确实避免了显式循环。你知道吗</p>