gpt4 book ai didi

python - 如何在 python 中创建内联 for 循环来对数字列表求和?

转载 作者:行者123 更新时间:2023-12-01 23:33:53 25 4
gpt4 key购买 nike

我做了这个 for 循环,我想把它放在一行中。

def mean(list):
sum = 0
for i in list:
sum += i
return sum // len(list)

我试过了,但是不行,这是一个语法错误。

def mean(list):
sum = 0
sum = [sum += i for i in list]
return sum // len(list)

最佳答案

更快(更好)的方法是使用内置:

def mean(a):
return sum(a)/len(a)

除非使用包括 := 运算符和列表复合在内的奇特 hack,否则无法使用内联循环求和。( 推荐)

顺便说一句,你应该永远不要使用内置名称作为变量名称。它们会使你的代码更难理解,并且(有时)更慢。

编辑:如果您真的想要在一行中循环,这里是如何做到的(需要 python3.9+)

def mean(a):
s=0
return [s:=s+i for i in a][-1]/len(a)

关于python - 如何在 python 中创建内联 for 循环来对数字列表求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65902912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com