Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对for循环中的绝对值求和-python_Python_List_For Loop_Sum - Fatal编程技术网

对for循环中的绝对值求和-python

对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

我试图求两个列表之间差值的绝对值之和。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

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。