Не могу найти ошибку в синтаксисе Python
Вопрос немного глупый,но без помощи я его не решу. Пишу код коллаборативной фильтрации, сам код примерно готов, однако выдаёт ошибку в синтаксисе в 3 строке. Не могу сам найти проблему и прошу помощи. Ошибка:
matches = [(u, distCosine(userRates[userID], userRates[u])) for u in userRates if u <> userID]
^
SyntaxError: invalid syntax
Код:
import math
def makeRecommendation (userID, userRates, nBestUsers, nBestProducts):
matches = [(u, distCosine(userRates[userID], userRates[u])) for u in userRates if u <> userID]
bestMatches = sorted(matches, key=lambda(x,y):(y,x), reverse=True)[:nBestUsers]
print "Most correlated with '%s' users:" % userID
for line in bestMatches:
print " UserID: %6s Coeff: %6.4f" % (line[0], line[1])
sim = dict()
sim_all = sum([x[1] for x in bestMatches])
bestMatches = dict([x for x in bestMatches if x[1] > 0.0])
for relatedUser in bestMatches:
for product in userRates[relatedUser]:
if not product in userRates[userID]:
if not product in sim:
sim[product] = 0.0
sim[product] += userRates[relatedUser][product] * bestMatches[relatedUser]
for product in sim:
sim[product] /= sim_all
bestProducts = sorted(sim.iteritems(), key=lambda(x,y):(y,x), reverse=True)[:nBestProducts]
print "Most correlated products:"
for prodInfo in bestProducts:
print " ProductID: %6s CorrelationCoeff: %6.4f" % (prodInfo[0], prodInfo[1])
return [(x[0], x[1]) for x in bestProducts]
Ответы (2 шт):
Автор решения: ThIsIsTails
→ Ссылка
Что значит <>?) Может:
== - Значение равно другому
!= - значение НЕ равно другому
<= >= - Меньше или равно и больше или равно (цифры)
<, > - больше и меньше