Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在某个索引之后,如何更改列表组的元素?_Python_List - Fatal编程技术网

Python 在某个索引之后,如何更改列表组的元素?

Python 在某个索引之后,如何更改列表组的元素?,python,list,Python,List,我有一个主要决策者列表,它将告诉具体的索引和3个保存列表,其中包含11个成本值和一个用于增加价值的opex升级 savingYear = [0,4,8] #decider list saving1 = [22,323,142,234,23,23,45,45,6,67,122] #saving list saving2 = [12,333,421,734,253,263,445,45,611,6127,122]#saving list saving3 = [12,133,433,234,233,2

我有一个主要决策者列表,它将告诉具体的索引和3个保存列表,其中包含11个成本值和一个用于增加价值的opex升级

savingYear = [0,4,8] #decider list
saving1 = [22,323,142,234,23,23,45,45,6,67,122] #saving list
saving2 = [12,333,421,734,253,263,445,45,611,6127,122]#saving list
saving3 = [12,133,433,234,233,263,465,45,62,6712,1242]#saving list
opexEscaltion = 0.1
现在我要做的是取
savingYear
的最后一个数字,即
8
,这8将是所有
savingList
中的特定位置。因此,
saving1
saving2
saving3
中的第8位分别是
6、611和62
。现在我想做的是,我想把这些应用于
opexEscalation
,并填充所有
保存列表中的其余位置(第9位和第10位)
。因此,这就像:

9th element in saving1 = 6*1.1 #1.1 because 0.1 is in percentage
9th element in saving2 = 611*1.1
9th element in saving3 = 62*1.1
10th element in saving1 = 9th element*1.1
10th element in saving2 = 9th element*1.1
10th element in saving3 = 9th element*1.1

so final saving list will be something like:
saving1 = [22,323,142,234,23,23,45,45,6,6.6,7.26] #saving list
saving2 = [12,333,421,734,253,263,445,45,611,672.1,739.31]#saving list
saving3 = [12,133,433,234,233,263,465,45,62,68.2,75.02]#saving list
有人能帮忙吗?

就这么简单

year = savingYear[-1]

for item in [saving1, saving2, saving3]:
    for index, _ in enumerate(item[year + 1:]):
        item[year + 1  + index] = round(item[year + index] * 1.1, 2)
试试这个:

def fun(lst, start, end):
    for idx in range(start, end):
        lst[idx + 1] = round(lst[idx] * 1.1, 3)
        
fun(saving1, savingYear[-1], len(saving1) - 1)
fun(saving2, savingYear[-1], len(saving2) - 1)
fun(saving3, savingYear[-1], len(saving3) - 1)

为什么第九个元素后的第十个元素应该是第五个元素?不,我只取储蓄年的最后一个元素,即8,并在储蓄列表中更改此位置后的所有元素为什么储蓄最后一个元素是7.62?哦,对不起,应该是7.26,这是第九个元素的10%增长。但是
67*1.1=73.7