一行 for 循环 a = a*b + x

我有以下 for 循环:


a = 0

b = 100

for x in my_list:

  a = a * b + x

return a

我的问题是我可以把它写成一行吗?


我努力了:


a = my_list[0]

return sum((a*b + x) for x in my_list)

但没有做我想做的事。


LEATH
浏览 86回答 2
2回答

人到中年有点甜

from functools import reduce res = reduce(lambda a, x: a * b + x, my_list, 0)

繁星淼淼

my_list = [1,2,3,4,5]a = 0b = 100[print(a * b + x) for x in my_list]但当 a = 0 时,您将仅显示您的列表
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python