我得到了一个dict,需要用一个方法返回的值填充它。方法使用在方法之前定义的两个列表来搜索传递的参数是否存在于列表中。但是,无法从方法中访问列表?“未定义变量“它告诉我它们两个。我指的两个列表是dbBUYlist和nbBUYlist。你知道吗
下面是一些代码:
nbBUYlist = []
dbBUYlist = []
#code to populate both lists from webscraping
def tickervalue(self, ticker):
recCount = 0
if ticker in dbBUYlist:
recCount + 1
if ticker in nbBUYlist:
recCount + 1
return recCount
recdict = {ticker : tickervalue(ticker) for ticker in tickers}
buyrec = pd.DataFrame.from_dict(recdict, orient = 'index', columns=['Sum']).sort_values('Sum', ascending=False)[:10]
buyrec
您应该确保在定义函数之前可以访问它们。你知道吗
如果
print
抛出相同的错误,则意味着python无法定位该范围内的列表。如果它们位于不同的.py
文件中,则必须导入它们。e、 克:Python跟踪加载到每个“Python文件”(称为模块)中的对象,并需要告知在何处使用哪些项。你知道吗
如果变量是在同一个模块中定义的,那么可以尝试
functools.partial
以确保将列表传递给函数的作用域。你知道吗编辑:在函数调用中使用
self
时,值得指出的是,如果tickervalue
函数是类的一部分,那么print()
前面的tickervalue
将无法工作。相反,我建议您发布一个可能更完整的代码示例,因为在没有更多上下文的情况下进行协调很有挑战性。你知道吗正如有人在评论中指出的,如果您在类中定义了
nbBUYlist
和dbBUYlist
,那么您需要这样访问它们:此代码有多处错误。我不知道为什么你不能访问变量,下面的代码在我的机器上工作。你知道吗
相关问题 更多 >
编程相关推荐