是否有更好的方法来检查两个不同字符串的字符匹配数。例如,当我输入“成功”这个词时,我想知道它与确切位置的“成功”一词有多少个字符。在这种情况下,“成功”匹配“成功”的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)
我想知道是否有更简单和/或更短的方法吗?或者使用较少变量的方式。
没太看懂你的意思..
有几种匹配..
如果是按照我的理解..
就不能用List把成功两个字拆成2个元素.否则第二种情况也能匹配出来...
如果是我说的第一种情况..其实方法还是非常多的.
您可以使用该zip函数同时迭代两个字符串。此外,它被认为更加pythonic迭代列表中的项目并比较值而不是索引列表。
例如:
word1 = 'success'
word2 = 'succeed'
matches = 0
for letter1, letter2 in zip(word1, word2):if letter1 == letter2: matches +=1
matches
5
如果你想要真正有创意,你可以在一行中做到:
matches = sum([l1 == l2 for l1, l2 in zip(word1, word2)])
matches
5
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。