Ich versuche, ein Programm zu machen, die von der Suche nach Ähnlichkeiten in Benutzern Partituren in verschiedenen Themen wahrscheinlich Freunde finden:Python - Werte nur dann verwendet werden, wenn sie nach dem ersten in einer Liste sind
def similarity(user,d_list):
user_data=()
user_score=[]
for item in d_list:
if user in item:
user_data=item[1]
if item[0]!=user :
local_score=0
local_score=sum(a*b for a,b in zip(user_data,item[1]))
user_score.append(local_score)
print user_score
return
Bei Verwendung:
ratings=(("mark",[4,8,0,7]),("bob",[3,6,9,1]),("jim",[11,4,6,3]),("steve",[22,19,1,0]))
als d_list und "Markierung", wie der Benutzer arbeitet das Programm wie erwartet, so dass:
[67, 97, 240]
Wenn Bob verwendet wird, wird der Vergleich mit der Markierung auf 0 gesetzt
[0, 114, 189]
Wenn steve den Satz verwendet wird, ist nur Nullen. Ich bin ratlos.