比较两个变量字符(Python)

2024-04-19 19:02:07 发布

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

我想比较两个字符串变量并返回两个字符串之间共享的字符数。因此"work""what"将返回“1/4”,因为两个字符串之间的4个字母中有1个(在本例中只有w)是相同的。你知道吗


Tags: 字符串字母字符whatwork本例
3条回答

这将给出两个单词中出现在同一位置的字母数:

sum(1 for a, b in zip(word1, word2) if a == b)

zip同时为两个单词中的每个字符提供一个迭代器,您只需对每次匹配的1求和。你知道吗

这将为您提供两个单词在任何位置的通用字母:

len(set(word1) & set(word2))

这将创建两组字母,取两组字母的交集,并告诉您交集有多大。你知道吗

您可能需要考虑使用difflib,因为它似乎涵盖了您的用例,但也扩展到了不同长度的字符串。你知道吗

例1

import difflib

sequence_matcher = difflib.SequenceMatcher(a='work', b='what')

sequence_matcher.ratio() # 0.25

例2

import difflib

sequence_matcher = difflib.SequenceMatcher(a='work', b='works')

sequence_matcher.ratio() # 0.889

你要这样的东西吗?你知道吗

a = "hello"
print(list(a))

b = "hell"

counter=0
for x in list(a):
    if x in list(b):
    counter+=1

print(str(counter)+"/"+str(len(list(b))))

这是获取存储在变量a中的字符串,循环遍历字符并与存储在变量b中的字符串进行比较。最后,它打印a中的字符数,这些字符在存储在b中的字符串长度上也在b中

相关问题 更多 >