我有一本字典,其中包含一个列表capex
,其中有一个值。该词典的基本结构是:
outputDic = {
"capex": [{
"value": 450000,
"start": 5,
"year": 10
}]
}
value
,start
和year
只是随机数,但是有decider
变量将基本确定列表中将有多少个值。因此,只需说decider
为2,那么将有两个值,如果为3,则列表中将有三个值,依此类推。我的方法:
outputDic = {
"capex": [{
"value": 450000,
"start": 5,
"year": 10
}]
}
decider = 2
for i in range(1, decider):
outputDic['capex'][i]['value'+str(i)] = 40*i
outputDic['capex'][i]['start'+str(i)] = 20*i
outputDic['capex'][i]['year'+str(i)] = 10*i
print(outputDic)
它给出了List out of index
的错误,可能是因为列表中只有一个元素。我的预期输出是:
decider = 2
outputDic = {
"capex": [
{
"value": 40,
"start": 20,
"year": 10
},
{
"value": 80,
"start": 40,
"year": 20
}
]
}
Can anyone please help?
答案 0 :(得分:2)
这是一种方法。使用append
将新项目添加到列表中。
outputDic = {
"capex": []
}
decider = 2
for i in range(decider):
outputDic['capex'].append(
{
'value' : 40*i,
'start': 20*i,
'year':10*i
}
)
print(outputDic)
输出为:
{'capex': [{'value': 0, 'start': 0, 'year': 0},
{'value': 40, 'start': 20, 'year': 10}]}