在给出单词列表的情况下,有没有一种简单的方法可以找到python的最小对?最小对是一对两个单词,它们只在一个声音中有所不同(用蟒蛇术语表示一个字符)。例如,在像这样的列表中:
wordlist = ["paka", "baka", "puki", "paki", "suki", "suku"]
最小对将是:“paka”和“baka”,“puki”和“paki”,“puki”和“suki”,“suki”和“suku”
我是python的新手,我试图搜索一个合适的函数,除了比较两个字符串之外的字符,但我找不到有用的东西。
答案 0 :(得分:0)
一个简单的解决方案: 您使用word1遍历列表并与所有其他单词(word2)进行比较。你计算每个位置的差异。以下示例可能适用于您的任务......
wordlist = ["paka", "baka", "puki", "paki", "suki", "suku", "buku","baba","nabab"]
for n1,word1 in enumerate(wordlist):
for word2 in wordlist[n1+1:]:
if len(word1)==len(word2):
ndiff=0
for n,letter in enumerate(word1):
if word2[n]!=letter:
ndiff+=1
if ndiff==1:
print word1, word2