2016-03-23 25 views
1

İki liste arasındaki farkın mutlak değerini toplamayı deniyorum. XRatings ve yRatings arasındaki fark. Burada ideal sonuç 22.5Döngü için mutlak değerleri toplama - python

İşte benim kodum.İşlemin basit olduğunu hissediyorum, ancak göremiyorum. Baska öneri?

import math 

xRatings =[1,5,1,3.5,4,4,3] 
yRatings = [5,1,5,1,1,1,1] 
sum_= 0 

for i in range(7): 

    count = [math.fabs(xRatings[i]-yRatings[i])] 
    sum_ += i 

return sum_ 


print(sum_) 
+2

'sum_ + = say' değil, 'sum_ + = i' – zondo

cevap

3

bu deneyin:

print(sum(abs(x-y) for (x, y) in zip(xRatings, yRatings)))

0

senin yöntemi kullanarak:

import math 

xRatings =[1,5,1,3.5,4,4,3] 
yRatings = [5,1,5,1,1,1,1] 
sum_= 0 

for i in range(7): 

    count = math.fabs(xRatings[i]-yRatings[i]) 
    sum_ += count 

print(sum_) 

count bir int değil, bir list olmalı, sen sum_ için icount değil eklemek için gerekli ve return, functio içinde kullanılır ns, ve bu yüzden gereksizdir.

0

Bu Python 2.7 olarak çalışır: Bunu yapabilirsin

xRatings =[1,5,1,3.5,4,4,3] 
yRatings = [5,1,5,1,1,1,1] 
sum_= 0 

for i in range(7): 
    sum_ += abs(xRatings[i]-yRatings[i]) 

print sum_ 
1

:

sum(abs(xRatings[i] - yRatings[i]) for i in range(len(xRatings))) 

Makul verimli ve özlü pythonic tek satırlık, bu.

+0

' zip() 'büyük olasılıkla daha pythonic olacaktır. – AChampion