このコードでは、collections Counter
を使用して、2つの文字列の共通文字の数を検索しています。2つの文字列の共通文字の数
from collections import Counter
a = "abcc"
b = "bcaa"
answer = 0
ac = Counter(a)
bc = Counter(b)
for key in ac:
answer += min(ac[key], bc[key])
print answer
ソリューションは、両方の文字列に共通する文字の数を見つけようとします(同じ手紙はまだ数える)私の質問があり、私はこのロジックを開発したが、私はそれを再発明車輪かもしれ恐れます。導入された方法はありますか、これを行う簡単な方法はありますか?
注:私の質問は、文字列間の共通の文字を見つけることを試みる質問とは異なります。私は何か基本的なものを見つけることを期待するので、カウントが必要です。
(Ahsanul Haqueの答えに記載されているように)関数が共通文字の絶対数を返すべきか、共通文字の総数(各文字列に含まれる文字の重複を含む) – lesingerouge
私は彼の答えのコメントにそれを加えました。 –
@MaxPythone重要な情報をコメントに追加しないでください。さまざまな理由で回答やコメントが削除されることがあり、情報が失われることがあります。また、問題を正しく理解するには、すべての回答とコメントを読む必要がありますが、これは悪いことです。あなたの質問を常に編集して、新しい情報を追加し、コメントを使って興味のある人に知らせてください。 –