[英]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
因為它似乎涵蓋了您的用例,而且還將其擴展到不同長度的字符串。
import difflib
sequence_matcher = difflib.SequenceMatcher(a='work', b='what')
sequence_matcher.ratio() # 0.25
import difflib
sequence_matcher = difflib.SequenceMatcher(a='work', b='works')
sequence_matcher.ratio() # 0.889
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.