Как назначить значения динамического ключа в словаре в Python?

Окружающая среда: Zipline 1.3.0 miniconda3 для ОС Windows

Я пытаюсь перебрать S в данных. S.symbol имеет как 15 значений.

При выполнении итерации данных для 1 символа произнесите "шпион", как показано в коде ниже; я хочу создать 2 ключа

(S.symbol + "c") —-> spyc для хранения текущего значения

(S.symbol + "s") - → spys для хранения значения с плавающей точкой.

def before_trading_start(context,data):
print("*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#")
print("Get DateTime: ",get_datetime())
#context is a dictionary
for S in data:
    if(S.symbol == 'SPY'):
        arr = list(range(1,91))
        hist = data.history(S,"price",90,"1d")
        price_list = np.log(hist.tolist())
        context.spyc = data.current(S,"price")
        context.spys = Slope(arr, price_list)
        print (context.spyc)
        print (S.symbol, context.spys)


    else:
        continue
############### Моя неудачная версия динамического именования
def before_trading_start(context,data):
print("*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*")
print("Get DateTime: ",get_datetime())
for S in data:
    arr = list(range(1,91))
    hist = data.history(S,"price",90,"1d")
    price_list = np.log(hist.tolist())

    context[S.symbol + "c"] = data.current(S,"price")
    context[S.symbol+"s"] = Slope(arr, price_list)
    print (context[S.symbol + "c"])
    print (S.symbol, context[S.symbol + "s"])

S.symbols = ["Шпион","AAPl", "xom", "L", "T", "CSCO", "MSFT"..]

0 ответов

Другие вопросы по тегам