【发布时间】:2018-01-16 08:26:56
【问题描述】:
我想创建一个由字典键组成的列表,但这些字典嵌套在一个列表中。例如,给定以下 JSON:
{
"test_cases": [{
"name": "first request",
"request": {
"url": "{{env_base_url}}/v2/597649d3110000be08b1be84/{{env_userName}}"
},
"variables": {
"var1": "some stuff",
"var2": "some other stuff"
}
},
{
"name": "second request",
"request": {
"url": "{{env_base_url}}/v2/597649d3110000be08b1be84/{{env_userName}}"
},
"variables": {
"var3": "some new stuff",
"var4": "some other new stuff"
}
}
]
}
我想从每个 test_case 的变量中创建所有键的列表 - 示例输出为:
list = ['var1', 'var2', 'var3', 'var4]
我有代码可以做到这一点,但它似乎不必要地复杂......
test_var_names = [list(test['variables'].keys()) for test in data['test_cases']]
i =0
while i < len(test_var_names):
test_var_name = test_var_names[i]
if isinstance(test_var_name, list):
for item in test_var_name:
test_var_names.append(item)
test_var_names.remove(test_var_name)
i = i-1
i += 1
print (test_var_names)
【问题讨论】:
-
while循环的作用是什么?第一行似乎应该完成这项工作
标签: python list dictionary