gpt4 book ai didi

python - 使用 "for x not in y"

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

我正在尝试创建一个执行斐波那契数列的动态函数。它以一个哈希表开始,该哈希表为位置分配值然后返回它。但是,如果该位置不在哈希表中,代码会将值与该位置一起存储在哈希表中。这是代码:

 def dyn_fib(n):
memo = {1:0, 2:1}
if n <= 2:
return memo[n]
else:
for n not in memo:
memo[n] = memo[n-2] + memo[n-1]
return memo[n]

我所要做的就是编辑“else”语句以使用

将新值存储在哈希表中
memo[n] = memo[n-2] + memo[n-1] 

对于尚未在备忘录中列出的任何位置“n”,然后循环直到到达“n”。我以为我可以用

 for n not in memo:

但 Geany 说存在语法错误。我认为这是因为如果 n = 5,它需要在 5 之前计算 3 和 4,但我不确定如何将“对于任何尚未在备忘录中的位置 n”放入 python 语句中。有人知道怎么做吗? (我觉得它很简单,但我无论如何都不精通 Python。)

最佳答案

您通常不能说for x not in y,因为有无限多的对象在y 中。

对于您的具体情况,我认为这样的事情可能会奏效:

[x for x in range(0, n) if x not in y]

关于python - 使用 "for x not in y",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33423924/

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