私は数ヶ月前からPythonを学んできましたが、文章中に単語が出現してインデックスが印刷される回数をカウントするプログラムを作成する方法を知りました。文中に単語が出現してインデックスが印刷される回数を計算するにはどうすればよいですか? (Python)
ありがとうございます。
私は数ヶ月前からPythonを学んできましたが、文章中に単語が出現してインデックスが印刷される回数をカウントするプログラムを作成する方法を知りました。文中に単語が出現してインデックスが印刷される回数を計算するにはどうすればよいですか? (Python)
ありがとうございます。
質問と私の回答が変更されました。ここで最後の提案は次のとおりです。
string = "wordetcetcetcetcetcetcetcword"
import re
find = "word"
p = re.compile(find)
matches = [m.start() for m in p.finditer(string)]
print(matches)
戻り値:
[0, 25]
ありそれを行うには、いくつかの方法がありますが、ここでは単語のインスタンスの数をカウント1つの自明な解があるが、取ることはありません例えば口座への赤点斑:
from collections import Counter
s = "This is true. This is false."
c = Counter(s.split(' '))
print(c['This']) # Prints "2"
def count_index(string, search_term):
return (search_term,
string.count(search_term),
[string.replace(search_term, '', i).index(search_term) + (len(search_term)*i) for i in range(string.count(search_term))]
)
ロジック(bodgyビットが)である戻り
>>> a = test.count_index("python is a very good language, i like python because python is good", "python")
>>> a
('python', 3, [0, 39, 54])
は、基本的には、所与のstring
にsearch_term
の出現箇所の範囲に渡って行き、したがって、インデックス単語、リストにインデックスを追加します。単語を何も置き換えずに次の単語に置き換えると、現在のインデックスに従って削除された文字の量が加算され、ループは正常に機能します。
学習者も歓迎します。以下はあなたを得るかもしれません。
import string
#
mask = str.maketrans('', '', string.punctuation) # Punctuation mask.
#
def aFunc(sentence, word):
words = sentence.translate(mask).split(' ') # Remove punctuation.
indices = [(e,w) for (e,w) in enumerate(words) if w.lower() == word.lower()] # Collect (index,word) pairs.
return (len(indices), indices)
s = 'The cat fell out of the hat. Then thE cAt fell asleep against the haT=:)'
aFunc(s, 'HAT')
(2, [(6, 'hat'), (14, 'haT')])
aFunc(s, 'the')
(4, [(0, 'The'), (5, 'the'), (8, 'thE'), (13, 'the')])
aFunc(s, 'Cat')
(2, [(1, 'cat'), (9, 'cAt')])
おい!SOへようこそ:対応するインデックスで句読点の基本治療、ならびに復帰ケースの変形を含みます。あなたは今何ヶ月もPythonを使ってきましたが、質問を作成する前にこれを "Google"しようとしましたか?あなたが何かを最初に試していないと(特にリンクがある) –
あなたはこれを試してみることをお勧めします。特定の問題にぶつかったときに戻ってきて、特定の質問を書いてください。 – khelwood
ありがとう、はい私はGoogle上で検索しようとしたが、単語が文で発生する回数を計算するPythonプログラムが見つかりましたが、インデックスを印刷しませんでした。 – Robbie