入力文字列をモールス信号に変換する次のコードがあります。私のコードは、文字列のすべての文字を実行し、次にアルファベットのすべての文字を実行します。これは非常に非効率的です。小さなアルファベット文字列ではなく、非常に大きなファイルから読み取っていたとしたらどうなるでしょうか。おそらくモジュール re を使用して、コードを改善して、文字列をモールス符号文字と一致させる方法はありますか?
morse_alphabet = ".- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. -- -. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --.."
ALPHABET = "abcdefghijklmnopqrstuvwxyz"
morse_letters = morse_alphabet.split(" ")
result = []
count_character = 0
def t(code):
for character in code:
count_letter = 0
for letter in ALPHABET:
lower_character = code[count_character].lower()
lower_letter = letter.lower()
if lower_character == lower_letter:
result.append(morse_letters[count_letter])
count_letter += 1
count_character += 1
return result