循环包含列表的函数

时间:2019-05-15 03:38:23

标签: python list function loops

我将运行一个循环,该循环从每个base_currency的函数中检索数据(未在循环中编码)。该代码运行时没有错误,但它显示列表中第一项的5倍(以base_currency的数量)而不是一个接一个地循环(该函数中的x不能正常工作)。

代码:

base_currency = ['BTC','ABX','ADH','ALX','1WO'] 
length = len(base_currency)


d_volu = [] 
i = 0
while i < length:
    for x in base_currency:
        volu = daily_volume_historical(x, 'JPY', exchange='CCCAGG').set_index('timestamp').volume
    d_volu.append(volu)
    i += 1
d_volu = pd.concat(d_volu, axis=1)
print(d_volu)

谢谢

1 个答案:

答案 0 :(得分:1)

您正在遍历base_currency两次,如@Grismar所述。您可以通过使用这样的列表理解来避免混淆。

base_currency = ['BTC','ABX','ADH','ALX','1WO'] 
d_volu = [daily_volume_historical(x, 'JPY', exchange='CCCAGG').set_index('timestamp').volume
            for x in base_currency]