<p>通过将<a href="https://docs.python.org/3/library/stdtypes.html#str.split" rel="nofollow noreferrer">^{<cd3>}</a>函数的<code>maxsplit</code>参数设置为<code>1</code>,您的逻辑可以进一步简化为一行:</p>
<pre><code>>>> my_string = 'the quick brown fox'
>>> my_string.split(' ', 1)[1]
'quick brown fox'
</code></pre>
<p>如果字符串包含一个单词或没有单词,则会引发<code>IndexError</code></p>
<p>另一种替代方法<strong>使用<em>字符串切片</em>和<code>list.index(...)</code></strong>如下:</p>
<pre><code>>>> my_string[my_string.index(' ')+1:]
'quick brown fox'
</code></pre>
<p>与前面的解决方案类似,此解决方案也不适用于一个或没有单词字符串,并将引发<code>ValueError</code>异常</p>
<p><strong>要处理只有一个字或没有字的字符串</strong>,您可以使用<code>maxsplit</code>参数使用第一种解决方案,但使用<em>列表切片</em>而不是索引将其作为列表访问,并将其重新连接:</p>
<pre><code>>>> ''.join(my_string.split(' ', 1)[1:])
'quick brown fox'
</code></pre>
<hr/>
<p>代码的问题是需要加入使用<code>' '.join(outcome)</code>发送回的字符串列表。因此,您的功能将变为:</p>
<pre><code>def whatistheremainder(v):
remainderforone = v.split(' ', 1)
outcome = remainderforone[1:]
return ' '.join(outcome)
</code></pre>
<p>样本运行:</p>
<pre><code>>>> whatistheremainder('the quick brown fox')
'quick brown fox'
</code></pre>
<p>您可以使用上述逻辑将字符串拆分为单词并将其连接回跳过第一个单词也可以转换为一行,如下所示:</p>
<pre><code>>>> ' '.join(my_string.split()[1:])
'quick brown fox'
</code></pre>