有一串不同长度的字符串(例如“Apple”,“Pear”,“cucumber”,“watermelon”),总共有27个字母。 目的是随机选择这27个字母的10%,20%,.....,100%,并考虑单词的长度用一些随机的Ascii字母替换它们。在某种程度上,我们从较长的单词中选择更多的字母,如“西瓜”(10个字母),并选择较短的字母,如“梨”(4个字母)。
Ps:我的目标是在单词列表中模拟拼写错误,然后应用Levenshtein Distance找到最佳匹配,将单词与拼写错误和正确的单词形式进行比较。(例如,将“Apple”转换为“apfle”和然后使用LD将其更正为“Apple”)
答案 0 :(得分:0)
我不确定我是否理解正确,但如果我这样做,也许你可以尝试这样的事情:
import random
import string
letters = string.ascii_lowercase
output = []
for element in list_of_words:
element = list(element)
for n in range(len(element)):
if random.randint(0,9)==9:
element[n] = random.choice(letters)
output.append(str(element))
print (output)
这将迭代列表中每个单词的每个字母,并用10%概率的随机小写字母替换它。然后它会将生成的单词保存到第二个单词列表中。