考虑到字长,用随机Ascii字母替换给定百分比的字母

2024-05-23 21:06:15 发布

您现在位置:Python中文网/ 问答频道 /正文

有一列不同长度的字符串(例如“苹果”、“梨”、“黄瓜”、“西瓜”),总共有27个字母。 目的是随机选择这27个字母中的10%,20%,…,100%,并考虑到单词的长度,用一些随机的Ascii字母代替它们。在某种程度上,我们从长单词中选择更多的字母,如“西瓜”(10个字母),从短单词中选择更少的字母,如“梨”(4个字母)。你知道吗

附言:我的目标是在一个单词列表中模拟拼写错误,然后应用Levenshtein距离,通过比较拼写错误的单词和正确的单词形式来找到最佳匹配。(例如,将“Apple”转换为“apfle”,然后使用LD将其改为“Apple”)


Tags: 字符串目的苹果距离apple目标列表字母
1条回答
网友
1楼 · 发布于 2024-05-23 21:06:15

我不确定我是否理解正确,但如果我理解了,也许你可以尝试这样的方法:

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%的随机小写字母替换它。然后,它将结果单词保存到第二个单词列表中。你知道吗

相关问题 更多 >