如何从下面的列表中循环访问/访问数据键中的所有值? 1,2,3等..
len(data_list);
返回2
但
for n in data_list:
print('i')
只打印一次“i”
类似
for i1 in data_list:
for i2 in i1["rowData"]:
for i3 in i2["data"]:
# evaluate the data
+++++++++++++
[{
'groupName': 'groupName1',
'rowData': [{
'rowName': 'groupName1_rowNamw',
'data': {
'key1': '1',
'key2': '2',
'key3': '3'
}
}],
'rowDataLength': 1
}, {
'groupName': 'groupName2',
'rowData': [{
'rowName': 'groupName2_rowName_a',
'data': {
'key1': 'a',
'key2': 'b',
'key3': 'c'
}
},{
'rowName': 'groupName2_rowName_b',
'data': {
'key1': '4',
'key2': '5',
'key3': '6'
}
}],
'rowDataLength': 2
}]
感谢任何帮助
答案 0 :(得分:1)
print([_d["data"] for d in l for _d in d["rowData"]])
[{'key3': '3', 'key2': '2', 'key1': '1'}, {'key3': 'c', 'key2': 'b', 'key1': 'a'}, {'key3': '6', 'key2': '5', 'key1': '4'}]
如果您希望值使用.values:
print([_d["data"].values() for d in l for _d in d["rowData"]])
在你的代码中for i3 in i2["data"]
遍历dict的键。
答案 1 :(得分:-1)
正如其他人评论过你的代码看起来像你想做的那样,也许你只需要打印一些东西来看看你得到了什么
for i1 in data_list:
print(i1["groupName"])
for i2 in i1["rowData"]:
print(i2["rowName"])
for i3 in i2["data"]:
print(i3, i2["data"][i3])