给定以下字符串作为Pythonic方法的输入:
福尔摩斯历险记 战争艺术 两个城市的故事 火星公主
我希望看到以下输出:
福尔摩斯的历险记 战争艺术 两个城市的故事,A 火星公主,A
有什么想法吗?
发布于 2013-10-09 22:24:31
首先,split去掉了第一个单词:
first, rest = title.split(None, 1)现在,检查第一个单词是否是一篇文章:
if first in {'A', 'An', 'The'}:如果是的话,把它移到最后:
return rest + ', ' + first把这一切结合在一起:
def fix_title(title):
first, rest = title.split(None, 1)
if first in {'A', 'An', 'The'}:
return rest + ', ' + first
return title如果您希望能够正确地处理空行,则需要更多的逻辑,我认为在这种情况下,用partition而不是split读起来更好。只需将中间的两行更改为:
first, _, rest = title.partition(' ')
if first in {'A', 'An', 'The'} and rest:https://stackoverflow.com/questions/19283864
复制相似问题