pythonで連続する同じ文字を検索する方法は何ですか?
文字列内の各文字をループして、前の文字と比較して同じかどうかを確認することができます。そうすれば、それをリストに追加します。異なる場合は、リスト内の連続する同じ文字を文字列に変換して、別のリストに追加します。最終的に、2番目のリスト内の連続する同じ文字列を返します。
以下はコードの例です。
def find_consecutive_chars(string):
consecutive_chars = []
current_consecutive = string[0]
for char in string[1:]:
if char == current_consecutive[-1]:
current_consecutive += char
else:
consecutive_chars.append(current_consecutive)
current_consecutive = char
consecutive_chars.append(current_consecutive)
return consecutive_chars
# 示例用法
string = "aaabbbcccdddeee"
result = find_consecutive_chars(string)
print(result) # ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
この例では、入力として文字列を受け取るfind_consecutive_chars関数を定義しています。最初に、連続した同じ文字列を格納するためのconsecutive_charsと、現在チェックしている連続文字列を保持するためのcurrent_consecutiveという2つの空のリストを初期化します。最初の文字をcurrent_consecutiveに割り当てます。次に、2番目の文字から文字列を1文字ずつループで処理します。現在の文字がcurrent_consecutiveの最後の文字と同じ場合、current_consecutiveに追加します。異なる場合、すでに連続した同じ文字の文字列が見つかったことを示し、それをconsecutive_charsに追加し、current_consecutiveを現在の文字にリセットします。最後に、最後の連続した同じ文字の文字列をconsecutive_charsに追加し、それを返します。
これがあなたに役立つといいです!