【问题标题】:Referencing Previous Variables to Create a New Value引用以前的变量以创建新值
【发布时间】:2019-04-05 20:34:52
【问题描述】:

我在引用新创建的变量中的前一个值来创建新值时遇到问题。请看下面:

i = 0
df_pf_monthly = [0.01, 0.02, 0.03, 0.04, 0.05, 0.06]
starting_dollar_value = 1000
monthly_returns_dollar_list = []
initial_value = (1 + df_pf_monthly[i]) * starting_dollar_value
monthly_returns_dollar_list.append(initial_value)

for val in df_pf_monthly:
  second_value = (1 + df_pf_monthly) * initial_value
  monthly_returns_dollar_list.append(second_value)
print(monthly_returns_dollar_list[3])
i += 1

【问题讨论】:

  • 请描述问题
  • 我实际使用的列表要大得多,我需要遍历整个列表。该列表有 188 个值,我不想写出每一行(~188)来实现每个值
  • 在您的问题中,您说“我遇到了问题”。有什么问题?
  • 目前尚不清楚(至少对我而言)您要做什么,或者为什么需要写出 188 个值来执行此操作。请描述您正在尝试做什么以及它的问题。
  • 而不是使用循环计数器i;为什么不只是 ``` for val in df_pf_monthly: do_something ```

标签: python python-3.x list recursion while-loop


【解决方案1】:

不太了解您的问题,但如果您尝试更新 initial_value,您只需在每次循环迭代后将 second_value 保存在 initial_value 上即可。

另外,我猜你应该用 val 计算 second_value,而不是用 df_pf_monthly。

如果这根本不是问题,请告诉我更多信息!

【讨论】:

    【解决方案2】:
    '''
    df_pf_monthly = [0.01, 0.02, 0.03, 0.04, 0.05, 0.06]
    i = 0
    starting_dollar_value = 1000
    monthly_returns_dollar_list = [1000]
    
    for val in df_pf_monthly:
      second_value = (1 + val) * monthly_returns_dollar_list[i]
      monthly_returns_dollar_list.append(second_value)
      i += 1
    print(monthly_returns_dollar_list)
    
    '''
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 2018-07-31
      • 2023-02-09
      • 2023-01-10
      相关资源
      最近更新 更多