字典中值和键之间的计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典中值和键之间的计算相关的知识,希望对你有一定的参考价值。

我正在尝试在字典值和其各自的键之间执行计算。

dict_cashflows = {0:-10000, 1: 500, 2: 1500, 10: 10000} rate=0.06

例如,我想打折上面字典中的现金流量。使用字典键来折扣值非常重要,因此我不需要在键之间填空。

对于字典中的每一对,计算应该是:

value/((1+rate)**key)

如有任何疑问,请随时提出。提前致谢,

答案

您可以只迭代键,也可以迭代两者:

dict_cashflows = {0:-10000, 1: 500, 2: 1500, 10: 10000}
rate=0.06
cashflow = {k : dict_cashflows[k] / (1.+rate)**k for k in dict_cashflows.keys()} #building a new dict from iterating over keys
print(cashflow)
cashflow2 = {k : v / (1.+rate)**k for k,v in dict_cashflows.items()} #building a new dict while iterating on both
print(cashflow2)
另一答案

所以,这就是我发现的方式:

dict_cashflows = {0:-10000, 1: 500, 2: 1500, 10: 10000}

   `def NPV_dict(dictcfs,rate=0.06):
    npv=0.0
    periods=list(dictcfs.keys())
    cfs=list(dictcfs.values())
    for i in range(len(dict_cashflows)):
        calc=cfs[i]/((1+rate)**(periods[i]))
        npv+=calc    
    return npv`

以上是关于字典中值和键之间的计算的主要内容,如果未能解决你的问题,请参考以下文章

python字典值和键[重复]

根据字典中值得大小,对字典中的项排序

2-3课程 如何根据字典中值得大小,对字典中的项排序

如何按值和键的多个条件对嵌套字典进行排序?

计算 SQL 中值转换之间的行数

python和c ++之间的流中值的通信