gpt4 book ai didi

python - 映射和 lambda 函数

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:33 25 4
gpt4 key购买 nike

我目前正在做一个 hackerrank 问题。

目标是找到前 n 个斐波那契数的立方体。用户输入n。例如,如果用户输入 5,则输出应该是 [0, 1, 1, 8, 27],因为前五个斐波那契数是 [0, 1, 1, 2, 3]。

我写了下面的代码:

cube = lambda x: x**3 # complete the lambda function 

def fibonacci(n):
# return a list of fibonacci numbers
initiallist = []
for i in range(n):
if i < 2:
initiallist += [i]
else:
initiallist += [initiallist[-1] + initiallist[-2]]
return initiallist

我得到了以下代码(我无法编辑):

if __name__ == '__main__':
n = int(input())
print(map(cube, fibonacci(n)))

问题是我的代码没有通过测试用例,因为它返回的是 map 对象而不是列表。我如何确保它返回一个列表?

最佳答案

只需添加list(),

if __name__ == '__main__':
n = int(input())
print(list(map(cube, fibonacci(n))))

我取消了我的评论,因为这是映射对象的解决方案,我不认为你可以在实际调用之前修改它。正如 Ewoud 所说,map 函数在 python3 和 python2 中的行为不同。

关于python - 映射和 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41785399/

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