为了账号安全,请及时绑定邮箱和手机立即绑定

python的平方和怎么理解?

def square_of_sum(L):
    return sum([i * i for i in L])
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
#def square_of_sum(L):
    sum = 0
    for x in L:
        sum = sum + x * x
    return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

能帮我理解一下这为什么可以使元素平方和return sum([i * i for i in L])#这个完全不能理解为什么

sum = 0
   for x in L:#这个循环的for是使list的元素全计算吧
       sum = sum + x * x#这个好理解python的平方并不是反v而是*但是sum+x*x的sum是什么?我记得是使打印的时候是整数?
   return sum

正在回答

1 回答

1.   sum() 是求和函数

      print sum([1, 3])  打印出来的结果就是4

2.   i * i for i in L 是列表生成式

     比如 i * i for i in[1, 2, 3] 就产生了一个新的列表 [1, 4, 9]

再接着综合以上的两个   sum([i * i for i in L])就是对产生的新的列表的求和

3.


   sum = sum + x * x    

  这么解释:如果sum开始为0,x是列表L的元素,比如L为【1, 2, 3】,那么第一次循环,sum 初始0, sum被赋值为0 + x * x=0 + 1 * 1 = 1,第二次循环,sum被赋值为1 + 2 * 2 = 5,第三次循环,sum被赋值为5 + 3 * 3=

14,循环结束,sum = 14

0 回复 有任何疑惑可以回复我~
#1

雪乃 提问者

非常感谢!
2018-01-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

python的平方和怎么理解?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信