对for循环中的绝对值求和-python
我试图求两个列表之间差值的绝对值之和。xRatings和yRatings之间的差异。这里的理想结果是22.5 这是我的代码。我觉得修复很简单,但我就是看不到。有什么建议吗对for循环中的绝对值求和-python,python,list,for-loop,sum,Python,List,For Loop,Sum,我试图求两个列表之间差值的绝对值之和。xRatings和yRatings之间的差异。这里的理想结果是22.5 这是我的代码。我觉得修复很简单,但我就是看不到。有什么建议吗 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 ret
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_)
试试这个:
打印(用拉链(xRatings,yRatings)表示(x,y)的总和(abs(x-y))
尝试以下方法:
使用您的方法打印(x,y的总和(abs(x-y))
使用您的方法:
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
应该是int
,而不是列表
,您需要将count
添加到sum
,而不是i
,并且返回
在函数中使用,因此在这里不需要。使用您的方法:
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
应该是一个int
,而不是列表
,您需要将count
添加到sum
,而不是i
,并且返回
在函数中使用,因此在这里没有必要。这与Python 2.7一样工作:
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_
它与Python 2.7一样工作:
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_
您可以这样做:
sum( abs(xRatings[i] - yRatings[i]) for i in range(len(xRatings)))
这是一个python单行程序,相当高效和简洁。您可以这样做:
sum( abs(xRatings[i] - yRatings[i]) for i in range(len(xRatings)))
这是一个python式的单行程序,相当有效和简洁。
sum+=count
,而不是sum+=i
sum+=count
,而不是sum+=i
zip()
可能更像python。zip()
可能更像python。