我想转换以下内容以使用地图功能:
tmplist = [3434,34,342,123123,451414,124124,1234124]
b=1234
a=5234
for i in tmplist:
b, a = myfunc(b, a, i)
请注意,b和a都应在每次迭代中被覆盖。这个问题的最初需求是使代码更有效。我正在寻求一种实现,这将有助于我比上述for循环更快地迭代。
谢谢。
答案 0 :(得分:3)
这是减少,而不是地图。适当的减少函数是reduce
:
b, a = reduce(lambda ba, x: myfunc(ba[0], ba[1], x), tmplist, (b, a))
请注意,这对您的效率问题没有帮助。如果你想提高代码的效率,你需要进行算法改进,或者你需要从内循环中消除Python级代码。