私は文章の文字列を持っています。文には8つの単語があります。私がしようとしているのは、第3、第5、第5の言葉を文にすることです。私は、次のようなインデックスを使用して試してみました:文字列から単語のグループを取得するにはどうすればよいですか?
string[3][4][5]
しかし、これはIndexError
を発生させます。私はここで何が欠けていますか?
私は文章の文字列を持っています。文には8つの単語があります。私がしようとしているのは、第3、第5、第5の言葉を文にすることです。私は、次のようなインデックスを使用して試してみました:文字列から単語のグループを取得するにはどうすればよいですか?
string[3][4][5]
しかし、これはIndexError
を発生させます。私はここで何が欠けていますか?
# split the title string into words (split by spaces)
thead_list = page_soup.title.string.split()
# access elements with index 3, 4, 5
words = thead_list[3:6]
するか、あなただけの3番目と5番目の単語をしたい場合は、あなたが抽出された単語を連結する必要がある場合は、thead_list[2]
とthead_list[4]
を使用し、次にこれを実行します:
abコードの1行にステップを進めてください:
thead = " ".join(page_soup.title.string.split()[3:6])
私はあなたのコードを使用すると、私は奇妙な結果を得る。何らかの理由で、すべての単語の3番目の単語をつかむ。また、次のように表示されます。 '[u'MyThirdWord ']' - '[u']'を追加することは、私が望むものではありません。 –
@JamesDean:すべての単語の3番目の単語?また、 'u'は実際には単語の一部ではないので、それについて心配しないでください – omijn
うん、私は知っているが、それは私のHTMLページに表示されます。また、なぜthead = page_soup.title.string.split()[3:4] 'のように単純にできないのでしょうか? –
あなたはこれを試すことができます。
thead = page_soup.title.string
final_word1, final_word2 = thead.split()[2], thead.split()[4]
なぜ、3番目、4番目、5番目= page_soup.title.string.split()[3:6]ではないのですか? –
また、あなたの解決策は間違っています:_ "3番目、** 4番目の**、第5番目の文" _。 –
@ChristianDeanチャットで言及されたOPそのもの "私は第3の単語と第5の単語をつかみたい"。 – Ajax1234
**(**)あなたがやっていることは**インデックス作成**と呼ばれています。 **(2)**あなたが欲しいと思うものは** _スライシング_ **: 'page_soup.title.string [3:6]'と呼ばれます。 –
これは、 'page_soup.title.string'が単語のリストであることを前提としています。 1つの大きな文字列である可能性が高いので、3番目、4番目、5番目の_characters_を解決します。 –
@JohnGordon真実ですが、彼が "単語"と言うとき、彼は "文字のグループ"を意味すると仮定します。それは必ずしも真実ではありません。彼はすでにリストスライシングの用語について混乱していました。彼はここでも同じことをすることができます。 –