我想问是否有更好的方法来检查两个不同字符串的字符数匹配。例如,当我输入单词“success”时,我想知道有多少个字符与单词“success”在准确的位置匹配。在本例中,“success”匹配“success”的7个字符中的5个。这个功能需要在一个更大的项目中实现。现在我有一个概念验证python代码:
word1 = input('Enter word1>')
word2 = input('Enter word2>')
#word1 is being compared to word2
word1_character_list = list(word1)
word2_character_list = list(word2)
matching_word_count = 0
for index in range(0,len(word2)):
if word1_character_list[index] == word2_character_list[index]:
matching_word_count = matching_word_count + 1
print(matching_word_count)
我想知道是否有一个更简单和/或更短的方法来做这件事?或者使用较少变量的方法。任何帮助都将不胜感激。你知道吗
您可以将for循环更改为以下内容:
此代码从第一个字符开始,并在字符不相同时立即中断。如果需要检查每个字符,则可以轻松地将代码修改为(与其他答案一样):
或更具可读性:
这是因为booleans是Python中整数的一个子类,具有
True == 1
和False == 0
。你知道吗可以使用
zip
函数同时遍历两个字符串。而且,迭代列表中的项目并比较值而不是索引列表被认为是更为python的。你知道吗例如:
如果你想真正发挥创造力,你可以用一句话:
相关问题 更多 >
编程相关推荐