Python 在某个索引之后,如何更改列表组的元素?
我有一个主要决策者列表,它将告诉具体的索引和3个保存列表,其中包含11个成本值和一个用于增加价值的opex升级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
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
!