簡體   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