我想测试这个函数中的所有 x 值,而不调用每个 x 值( x[0] …),所以一种 x[n] 或’用于 x 的所有值’。并根据 x 值是否通过 IF 语句列出列表中的所有 TickerZ 值。
room = str('Bingo Bango Bungo EURUSD=X') x = room.split() def Symbol(symbol): aapl = yf.Ticker(symbol) ainfo = aapl.history(period='1y') if len(ainfo) >= 40: print('yes it is a symbol') global tickerZ tickerZ = symbol new_Memory = Memory.objects.create(user=current_user, raw_message=room, date1=datemin, date2=datemax, ticker=tickerZ, command=cmd_exec) new_Memory.save() return tickerZ symb1 = Symbol(x[0]) symb2 = Symbol(x[1]) symb3 = Symbol(x[2]) symb4 = Symbol(x[3])
代码解释:所以基本上,我有一个字符串,我将它分成代表所有 x 值的单词。在这种情况下 x[0] 是宾果游戏。我将所有 x 传递到 IF 语句中以过滤相关的 x 值。如果 TickerZ 有值,我知道 ax 是否相关,因为变量是在过滤器之后定义的。
您可以使用列表理解来遍历所有 x 值,并只添加将 Symbol 函数的 if 语句传递给 的符号ticker_list。然后ticker_list用于创建和保存new_Memory对象
ticker_list
new_Memory
room = str('Bingo Bango Bungo EURUSD=X') x = room.split() def Symbol(symbol): aapl = yf.Ticker(symbol) ainfo = aapl.history(period='1y') if len(ainfo) >= 40: print('yes it is a symbol') global tickerZ tickerZ = symbol return True return False ticker_list = [symbol for symbol in x if Symbol(symbol)] new_Memory = Memory.objects.create(user=current_user, raw_message=room, date1=datemin, date2=datemax, ticker=ticker_list, command=cmd_exec) new_Memory.save()