使用python枚举包含字典的列表



我有一个像这样的结构:

{ 
"permutations": [
     {
        "testname": "Test1",
        "file_type": "file1",
        "test_options": {
            "rule_entities": [
                "name1"
         ],
        },
        ],
        "userType": "user",
        "rulename": "rule1",
        "action": "alert",
      },
     {
        "testname": "Test2",
        "file_type": "file2",
        "test_options": {
            "rule_entities": [
                "name2"
            ],
        },
        ],
        "userType": "user",
        "rulename": "rule2",
        "action": "alert",
      }
}

我想在上面的结构testname和rulename通过附加两个变量与rule_entities值,使testname: "Test1_name1"和rulename: "rule1_name1",其中name1是从rule_entities数组更改。因此,上述结构应该是最终结构

{ 
"permutations": [
     {
        "testname": "Test1_name1",
        "file_type": "file1",
        "test_options": {
            "rule_entities": [
                "name1"
         ],
        },
        ],
        "userType": "user",
        "rulename": "rule1_name1",
        "action": "alert",
      },
     {
        "testname": "Test2_name2",
        "file_type": "file2",
        "test_options": {
            "rule_entities": [
                "name2"
            ],
        },
        ],
        "userType": "user",
        "rulename": "rule2_name2",
        "action": "alert",
      }
}
我尝试使用下面的代码片段
for index, d in enumerate['permutations']:
    testname = d['permutations'][index]['testname']
    testname_new = testname + '_' + rule_entitities

for index, d in enumerate['permutations']:
    rulename = d['permutations'][index]['rulename']
    rulename_new = rulename + '_' + rule_entities

我没有得到想要的输出。提前感谢!!

您从未更新过存储在字典中的值

for index, d in enumerate['permutations']:
    testname = d['permutations'][index]['testname']
    testname_new = testname + '_' + rule_entities
    d['permutations'][index]['testname'] = testname_new

for index, d in enumerate['permutations']:
    rulename = d['permutations'][index]['rulename']
    rulename_new = rulename + '_' + rule_entities
    d['permutations'][index]['rulename'] = rulename_new

我使用下面的代码使它工作:

for x in 'permutations':
    rule_entity_slash = ['permutations'][0]['test_options']['rule_entities'][0]
    rule_entity_underscore = rule_entity_slash.replace("/","_")
    x['testname'] = x['testname'] + '_' + rule_entity_underscore
    x['rulename'] = x['rulename'] + '_' + rule_entity_underscore

谢谢

最新更新