作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我做了这个 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/
我是一名优秀的程序员,十分优秀!