我有一个数据列表:
data = [['domain', '600', '10.0.0.1'],['domain2', '600', '10.0.0.2'],['domain3', '200', '10.0.0.3']]
我想获取这些数据并用它来创建一个json格式的terraform文件,如下所示:
{
"resource":
{ "aws_route53_record": {
"recordname": {
"zone_id": "",
"name": data[0][0], # --> takes 'domain' from the data list and inputs it here
"type": data[0][1], # --> takes '600' etc
"ttl": data[0][2]
# rest of code
}
}
}
我需要创建相当多的这些对象,但每个对象的字符串保持不变。
为了参考并更好地了解示例,请参阅Terraform JSON语法指南here,并且可以找到通过Terraform创建route53记录的指南here
一旦我从列表中的第一个索引创建了第一个JSON对象,我就会想要继续data[1][x]
我在Python上的初学者水平相当高,所以我希望这是足够的信息继续下去
正如我试过的一个测试:
for item in data:
print(item[0])
打印:
['domain', '600', '10.0.0.1']
['domain2', '600', '10.0.0.2']
正如您所料,但是我失败的地方是如果我执行以下操作来打印每个ttl值(索引1)
for item in data:
print(item[1])
它将打印ttl数字列表,但会出现indexError: list item out of range
:
'600'
'600'
'200'
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IndexError: list index out of range
如果我尝试print(item[2])
,就会立即出现错误。
因为我得到了这些索引错误,所以我不知道如何在每个索引中访问正确的信息
答案 0 :(得分:0)
尝试迭代数据并检查每个项目是否至少具有所需的元素数量。
这样的事情:
export default {
data() {
// like this?
count: this.$store.getters.DONE_COUNT,
// ?
count: this.$store.getters.todos.DONE_COUNT,
// ?
count: this.$store.getters.todosModule.DONE_COUNT,
// ?
count: ?,
},
};