Skip to main content
 首页 » 编程设计

python在数组切片中找到高值(value)

2025年05月04日15shanyou

下面是给我一些问题的代码片段。我想要做的是找出每次出现的 356 天高点。为此,我正在尝试类似于下面的代码,但在“for i”行上出现异常:“builtin_function_or_method”对象没有属性“getitem”

Quote = namedtuple("Quote", "Date Close Volume") 
 
quotes = GetData() # arrray 
 
    newHighs = [] 
    for i,q in range[365, len(quotes)]:  #<--Exception 
        max = max(xrange[i-365, i].Close)  #<--i know this won't work, will fix when i get here 
        if (q.Close > max): 
            newHighs.append(i,q) 

如能提供解决此问题的任何帮助,我们将不胜感激。此外,任何有关以有效方式实现这一点的提示(因为引号数组当前有 17K 个元素)也很好。

请您参考如下方法:

range 是一个返回生成器(或 python2 中的列表)的函数。因此,它必须作为函数 range(365, len(quotes)) 调用,它将返回从 365 到 len(quotes) 的所有数字。

方括号表示索引,就像访问列表中的项目一样。由于 range 是一个函数,而不是一个列表,因此当您尝试访问它时它会抛出异常。