iç içe geçmiş bir listenin eşit olmayan uzunlukta çok sayıda eleman benzerlik hesaplanması olan değişen uzunluklarda:her iki elemanı, bir iç içe listesi
lst = [[a,bcbcbcbcbc],[e,bbccbbccb],[i,ccbbccbb],[o,cbbccbb]]
My çıkışı, bu görünüm dataframe bir csv'dir:
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
kodum: ancak bir hata recieving am
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
herhangi bir tavsiye ? Teşekkürler! Python'un belgelerine range
göre
Numpadler nerede başlatılır? kodları [i] == kodları [i + 1], kod snippet'inizde görünmüyorsa, dize [i] == string [i + 1] – elhefe
'numPlaces' nedir (belki de uzunluk olması gerekiyordu) ')? Özel durumunuzdaki satır neden gösterdiğiniz koddaki satırlardan hiçbiriyle eşleşmiyor? Her neyse, sanırım sen benim kafamı karıştırıyorsun çünkü ben farklı zamanlarda iki farklı şey için aynı değişken adını kullanıyorsun. Ve eğer 'isim' listenizde 'isim' ise, yaptığınız yer [i + 1] '' hiç bir anlam ifade etmiyor. – Blckknght
@Blckknght, düzeltmeler için teşekkür ederiz. İtiraf etmeliyim ki, i döngülerinde oldukça kafam karıştı. –