我在学校需要做的事情有一个小问题......
我的任务是从用户(text = raw_input()
)获取原始输入字符串,我需要打印该字符串的第一个和最后一个单词。
有人可以帮助我吗?我一整天都在寻找答案......
你必须首先使用list
将字符串转换为str.split
,然后你可以访问它:
>>> my_str = "Hello SO user, How are you"
>>> word_list = my_str.split() # list of words
# first word v v last word
>>> word_list[0], word_list[-1]
('Hello', 'you')
从Python 3.x开始,您可以简单地执行以下操作:
>>> first, *middle, last = my_str.split()
如果您使用的是Python 3,则可以执行以下操作:
text = input()
first, *middle, last = text.split()
print(first, last)
除第一个和最后一个之外的所有单词都将进入变量middle
。
让我们说x
是你的输入。然后你可以这样做:
x.partition(' ')[0]
x.partition(' ')[-1]
有人可能会说,使用正则表达式的答案永远不会太多(在这种情况下,这看起来像是最糟糕的解决方案......):
>>> import re
>>> string = "Hello SO user, How are you"
>>> matches = re.findall(r'^\w+|\w+$', string)
>>> print(matches)
['Hello', 'you']
你会这样做:
print text.split()[0], text.split()[-1]
只需将您的字符串传递给以下函数:
def first_and_final(str):
res = str.split(' ')
fir = res[0]
fin = res[len(res)-1]
return([fir, fin])
用法:
first_and_final('This is a sentence with a first and final word.')
结果:
['This', 'word.']