[英]Enumerate through list having dictionary in it using 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",
}
}
我想通過將兩個變量都附加有rule_entities值(例如testname:“ Test1_name1”和rulename:“ rule1_name1”)來對上述結構testname和rulename進行更改,其中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
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.