如何在每次迭代不同列表时创建新列表,为新列表指定一个包含原始列表中元素的名称?

时间:2016-05-08 02:24:51

标签: list loops python-3.x for-loop stocks

我正在尝试创建一个计算特定每日回报的函数(即1,2,5,10和30天的回报)。我想创建一个具有相应名称的不同列表(即one_day_return_list),其中包含该给定时段的返回值。

def calculate_returns(trading_day):

    for i in [1,2,5,10,30]:
        i_day_return = (closing_prices[(trading_day + i)] - closing_prices[(trading_day)]) / closing_prices[(trading_day)
        i_day_return_list.append(i_day_return_return)

在第一次迭代期间,i_day_return应该导致one_day_return,而i_day_return_list应该导致one_day_return_list。我是如何将上述伪代码转换为实际代码的?

1 个答案:

答案 0 :(得分:1)

通常你不会" name"你想要做的系列元素,而不是"数字"他们。这是dict的一个很好的用例。像这样:

def calculate_returns(trading_day):
    returns = {}
    for i in (1,2,5,10,30):
        returns[i] = random.random()

    return returns

这样做的结果将是从时间范围到返回的映射。