私の目標は、コードから生成された出力を繰り返し合計することです。
以下のコードは、2 つの文字列間のハミング距離を正確に計算できますが、複数の文字列の距離を合計することはできません。以下のサンプル文字列を参照してください。
w=['ground', 'joint']
c=['gnoufd', 'johnt']
def hamming_distance(s1, s2):
if len(s1)==len(s2):
return sum(x1 != x2 for x1, x2 in zip(s1, s2))
for x,y in zip(w,c):
for j in x:
for k in y:
l=hamming_distance(x, y)
print l
上記のコードの出力は次のとおりです。1
2
リスト内包表記を使用して、出力をリストで取得して合計できることを期待してみましたが、誤った出力が得られました。
for x,y in zip(w,c):
k=[hamming_distance(x,y) for j,k in zip(x,y)]
print k
望ましい出力: 3 --- (上記の 1 と 2 の合計)
助言がありますか?ありがとう。