繁体   English   中英

比较 2 个变量字符 (Python)

[英]Comparing 2 variables characters (Python)

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

这为您提供了出现在同一位置的两个单词中的字母数:

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

zip为您提供两个单词中每个字符的迭代器,并且您只需为每次匹配时求和1

这为您提供了任何位置的两个单词之间通常共享的字母:

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

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

你要求这样的东西吗?

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 中的字符串进行比较。 最后; 它在存储在 b 中的字符串的长度上打印 a 中也在 b 中的字符数。

您可能会考虑使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM