私は学校でやらなければならないことで小さな問題を抱えています...
私の仕事は、ユーザーから生の入力文字列を取得することです(text = raw_input()
)。その文字列の最初と最後の単語を出力する必要があります。
誰かがそれを手伝ってくれますか?私は一日中答えを探していました...
最初に str.split
を使用して文字列を単語のlist
に変換する必要があります。その後、次のようにアクセスできます。
>>> 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]
次のfunctionに文字列を渡すだけです:
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.']