Home > OS >  Python looping over lists creating new variables
Python looping over lists creating new variables

Time:08-04

i'd like to loop a snippet of code over a list creating into this loop new variables labeled with the names in the list I loop to.

This is intended for get list of close prices from several crypto in binance.

Does anyone konw how to deal with it?

pool = [BTCUSDT, ETHUSDT, FARMUSDT, SOLUSDT, OPUSDT]
for i in pool:  
 
        'ì'_candlesticks = client.get_historical_klines("ì", Client.KLINE_INTERVAL_1MINUTE, "1 Jan, 2020", "2 Jan, 2020>
        'i'_close = []
 
        for candle in 'i'_candlesticks:
                'i'_close.append(candle[4])

CodePudding user response:

Although it is possible to create variables on the flow, you can use dictionary for this purpose.

pool = [BTCUSDT, ETHUSDT, FARMUSDT, SOLUSDT, OPUSDT]
database = {}
for i in pool:  
        database[f"{i}_candlesticks"] = client.get_historical_klines(i, Client.KLINE_INTERVAL_1MINUTE, "1 Jan, 2020", "2 Jan, 2020>
        database[f"{i}_close"] = []
 
        for candle in database[f"{i}_candlesticks"]:
                database[f"{i}_close"].append(candle[4])

CodePudding user response:

Nawal's method was a great suggestion but it didn't work for me. I solved it like this, now it works.

close_dict = {}
candle_dict = {}
pool = ["BTCUSDT", "ETHUSDT"]

for i in pool:
    candle_dict[f"{i}"] = client.get_historical_klines(i,
                                                   Client.KLINE_INTERVAL_6HOUR,
                                                   "1 Jan, 2020", "2 Jan, 2020")

for i in pool: 
    c=[]
    
    for candle in candle_dict[f"{i}"]:
        c.append(candle[4])
    
    close_dict[f"{i}"]=c

print (candle_dict)
print("")
print("                              ")
print("")
print (close_dict)

I had to write a second for loop on the i's because the first one gave me an indentation error that was inexplicable to me. If anyone has a suggestion regarding this I appreciate it

  • Related