gpt4 book ai didi

python - 用python的map函数累加数字

转载 作者:行者123 更新时间:2023-12-01 02:03:01 27 4
gpt4 key购买 nike

嗨 friend 们,我想执行一个操作,我相信我可以用 map 解决这个问题。

下面的操作实际上是正确的。但我想做一些不同的事情。

增加后 18 将变为 19。但是当下一个值到来时,现在将使用 19 来收集它。

在这个例子中,我想要的输出是:

>> [18,18,18,19,19,21]

这就是我能做的:

def sum(x):
return x+18

new_list = list(map(sum, [0,0,0,1,0,2]))

>> [18, 18, 18, 19, 18, 20]

最佳答案

使用 reduce 怎么样? 2.7 中存在哪个函数? reduce 通常与 map 结合使用,以在一定数量的映射转换后聚合列表。

这是我的 3.5 版本,它应该与 2.7 很接近,即使不完全相同:

startVal =  18
myList = [0,0,0,1,0,2]
accumulator = reduce((lambda x, y: ( x + [y + (0 if len(x) == 0 else x[-1])])), myList, [])
[startVal + v for v in accumulator]

>> [18, 18, 18, 19, 19, 21]

我利用添加列表(连接)将后续值附加到初始化程序中定义的空列表。由于您无法获取空列表的最后一个条目,所以有一点条件。

关于python - 用python的map函数累加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49396311/

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