私がリストを持っているとしましょう:
list = [a,a,b,b,b]
リストをループしています。前の文字が現在の文字と同じ場合、変数「count」は 1 ずつ増加します。以下はコードの一部のみです。
for item in list:
if item == previous:
count +=1
return count
上記の例は、繰り返し a に対して 3, 1 を返し、bs に対して 2 を返します。カウントがそれぞれ1回だけ増加して合計2になるようにするには、何を使用できますか? 文字が以前に見られたかどうかに応じてTrueまたはFalseを返す変数「found」を使用してみましたが、これはもちろん[a、a、a、c、a、a、a]のようなものでは機能しません。私が望むように、これは「a」の最初の実行に対して2ではなく1を返します。
編集:私はおそらくこれを必要以上に難しくしています。私が望むのは、文字列が連続して繰り返され、カウントが 1 つインクリメントされるときだけです。[a,b,b,c,a,a,a,a,c,c,c,] は 3 を返します。[a,a,a,a,a,a,a,a] は 1 を返します。