编写一个给定词组的函数,并返回我们获取的词组
从输入短语中找出第一个单词。
例如,给定'quick brown fox',函数应返回'quick brown fox'
这是我的代码:
def whatistheremainder(v):
remainderforone = v.split(' ', 1)
outcome = remainderforone[1:]
return outcome
而不是获得合理的输出,如:
“敏捷的棕色狐狸”
我得到的是这样的东西:
['quick brown fox']
请帮忙
Tags:
[1:]
从列表中获取一个切片,它本身就是一个列表:这里的切片表示法
[1:]
表示从索引1(第二项)到列表末尾的所有内容都要切片。列表中只有两项,因此您会得到一个大小为1的列表,因为第一项被跳过要修复此问题,只需提取列表中的单个元素。我们知道列表应该包含2个元素,所以您需要第二项,所以只需使用索引1:
作为一个更一般的解决方案,您可能需要考虑使用{a1}:
根据您希望如何处理没有发生分区的情况,您可以返回
rest
,或者可能返回first
:或者,您可以争辩说,如果没有分区发生,那么应该返回原始字符串,因为没有要删除的第一个字。如果未发生分区,则可以使用以下事实:
sep
将是空字符串:通过将^{} 函数的
maxsplit
参数设置为1
,您的逻辑可以进一步简化为一行:如果字符串包含一个单词或没有单词,则会引发
IndexError
另一种替代方法使用字符串切片和
list.index(...)
如下:与前面的解决方案类似,此解决方案也不适用于一个或没有单词字符串,并将引发
ValueError
异常要处理只有一个字或没有字的字符串,您可以使用
maxsplit
参数使用第一种解决方案,但使用列表切片而不是索引将其作为列表访问,并将其重新连接:代码的问题是需要加入使用
' '.join(outcome)
发送回的字符串列表。因此,您的功能将变为:样本运行:
您可以使用上述逻辑将字符串拆分为单词并将其连接回跳过第一个单词也可以转换为一行,如下所示:
这就是你想要的吗
输出
相关问题 更多 >
编程相关推荐