gpt4 book ai didi

javascript - Python:检查是否设置了列表中的索引

转载 作者:行者123 更新时间:2023-11-29 19:23:19 24 4
gpt4 key购买 nike

我正在尝试将以下 JavaScript 代码迁移到 Python。

// return the nth term in Fibonacci series
var fib = function () {
var memo = [0, 1];

return function fib(n) {
if (typeof memo[n] !== 'number') { // check if memo[n] is available
memo[n] = fib(n - 1) + fib(n - 2);
}
return memo[n];
};
}();

但是,Python 似乎没有办法确定列表中的索引是否对应于 JavaScript 代码 typeof memo[n] !== 'number'

最佳答案

在 Python 中,EAFP原则被采用。请求宽恕比许可更容易。这意味着您应该假设索引存在并将其包装在 try except 中,这样您就可以在索引丢失时捕获。它看起来像这样:

try:
list[i]
except IndexError:
# list has no index i

这是 Python 中的常见用法,因为它实际上比先检查索引是否有效然后调用它更快。如果您提供的索引通常是有效的并且您只是偶尔需要捕获不正确的值,那么它会特别快。

在您的特定情况下,这将是一种很好的格式:

try:
return memo[n]
except IndexError:
# Calculate the answer since it's not stored
memo.append( fib(n - 1) + fib(n - 2) )
return memo[n]

关于javascript - Python:检查是否设置了列表中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32122214/

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