python输入一个单词,输出编辑距离为1的集合(用*号代替26个字母)
def get_edit_distance_one_set(word):
alphabet = '*'
insert_set = []
for i in range(len(word) + 1):
for char in alphabet:
new_word = word[:i] + char + word[i:]
insert_set.append(new_word)
delete_set = []
for i in range(len(word)):
new_word = word[:i] + word[i+1:]
delete_set.append(new_word)
replace_set = []
for i in range(len(word)):
for char in alphabet:
if char != word[i]:
new_word = word[:i] + char + word[i+1:]
replace_set.append(new_word)
edit_distance_one_set = set(insert_set + delete_set + replace_set)
return edit_distance_one_set
input_word = input("请输入一个单词:")
result = get_edit_distance_one_set(input_word)
print("编辑距离为1的单词集合:", result)