Skip to main content
 首页 » 编程设计

python之比较python中的两个字符串

2025年05月04日20artech

问题是:

给定两个字母数相同的单词,计算出从第一个单词到第二个单词需要更改多少个字母。更复杂版本的编辑距离通常用于手机和文字处理器上的拼写自动更正算法,以找到候选更正。

这两个词应该从用户那里读取,每行一个词。例如:

Word 1: hello 
Word 2: jelly 
2 

这就是我得到的:

w1 = input('Word 1: ') 
w2 = input('Word 2: ') 
for i in w1: 
  for o in w2: 
    print(i, o) 

我该怎么做?

请您参考如下方法:

你可以试试这样的:

sum(c1 != c2 for c1,c2 in zip(w1,w2)) 

zip(w1,w2) 创建一个生成器,该生成器返回由 w1 和 w2 的相应字母组成的元组。即:

>>> list(zip(w1,w2)) 
[('h', 'j'), ('e', 'e'), ('l', 'l'), ('l', 'l'), ('o', 'y')] 

我们迭代这些元组(c1 被分配给每个第一个字符,c2 被分配给每个第二个字符)并检查是否 c1 != c2。我们将满足此条件的所有实例相加以得出答案。

(参见 zip() 和 sum())


>>> w1 = 'hello' 
>>> w2 = 'jelly' 
>>>  
>>> sum(c1 != c2 for c1,c2 in zip(w1,w2)) 
2