python循环中求和绝对值

2024-09-30 20:34:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 代码inimport列表forcountrangemath
3条回答

使用您的方法:

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,而不是list,需要将count添加到sum_,而不是i,并且return是在函数内部使用的,因此这里没有必要。在

您可以这样做:

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

这是一条Python式的单行线,相当高效和简洁。在

试试这个:

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

相关问题 更多 >