と複数の要素の類似度を算出私はすべての2番目の要素は、様々な長さを有する、ネストされたリストを持っている:ネストされたリストの不等長
lst = [[a,bcbcbcbcbc],[e,bbccbbccb],[i,ccbbccbb],[o,cbbccbb]]
私の出力は、この表情でデータフレームのCSVである:
comparison similarity_score
a:e *some score
a:i *some score
a:o *some score
e:i *some score
e:o *some score
i:o *some score
私のコード:
similarity = []
for i in lst:
name = i[0]
string = i[1]
score = 0.0
length =(len(string))
for i in range(length):
if string[i]==string[i+1]:
score += 1.0
new_score = (100.0*score)/length
name_seq = name[i] + ':' + name[i+1]
similarity.append(name_seq,new_score)
similarity.pdDataFrame(similarity, columns = ['comparison' , 'similarity_score'])
similarity.to_csv('similarity_score.csv')
が、私はエラーが供給しています:
if codes[i]==codes[i+1]:
IndexError: string index out of range
ありがとう! Pythonのドキュメントrange
による
numplacesは初期化されていますか? string [i] == string [i + 1]を意味する場合を除いて、コード[i] == codes [i + 1]はコードスニペットには表示されません。 – elhefe
numPlacesとは(たぶん 'length ')?例外の行は、表示されたコードの行と一致しません。とにかく、別の時に2つの異なるものに同じ変数名を使用しているので、私はあなたが混乱していると思います。あなたのリストで 'name'が' a'であれば、あなたが 'name [i + 1]'している場所はまったく意味がありません。 – Blckknght
@Blckknghtは訂正してくれてありがとう。私はforループの私とかなり混同していることを認めなければならない。 –