下面是给我一些问题的代码片段。我想要做的是找出每次出现的 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 是一个函数,而不是一个列表,因此当您尝试访问它时它会抛出异常。
我是一名优秀的程序员,十分优秀!