如果与另一个值匹配则替换特定的值

时间:2019-01-10 03:53:31

标签: python python-2.7

有没有办法替换字典中的特定值?我正在尝试用乌龟等其他东西代替喵。

meow只是字典中的一个值,但是我可能没有附加特定的键。

我尝试了这段代码,但无法正常工作,有没有办法不用json.dumps来做到这一点?

output_json = json.dumps(dict).replace('meow', 'turtle')

这是下面的json:

dict = {  
   "view":{  
      "Term0":[  
         {  
            "Id":"b0987b91-af12-4fe3-a56f-152ac7a4d84d",
            "DisplayName":"Dog",
            "FullName":"Dog",
            "AssetType1":[  
               {  
                  "AssetType_Id":"00000000-0000-0000-0000-000000031131",
               }
            ]
         },
         {  
            "Id":"ee74a59d-fb74-4052-97ba-9752154f015d",
            "DisplayName":"Dog2",
            "FullName":"Dog",
            "AssetType1":[  
               {  
                  "AssetType_Id":"00000000-0000-0000-0000-000000031131",
               }
            ]
         },
         {  
            "Id":"eb548eae-da6f-41e8-80ea-7e9984f56af6",
            "DisplayName":"Dog3",
            "FullName":"Dog3",
            "AssetType1":[  
               {  
                  "AssetType_Id":"00000000-0000-0000-0000-000000031131",
               }
            ]
         },
         {  
            "Id":"cfac6dd4-0efa-4417-a2bf-0333204f8a42",
            "DisplayName":"Animal Set",
            "FullName":"Animal Set",
            "AssetType1":[  
               {  
                  "AssetType_Id":"00000000-0000-0000-0001-000400000001",
               }
            ],
            "StringAttribute2":[  
               {  
                  "StringAttribute_00000000-0000-0000-0000-000000003114_Id":"00a701a8-be4c-4b76-a6e5-3b0a4085bcc8",
                  "StringAttribute_00000000-0000-0000-0000-000000003114_Value":"Desc"
               }
            ],
            "StringAttribute3":[  
               {  
                  "StringAttribute_00000000-0000-0000-0000-000000000262_Id":"a81adfb4-7528-4673-8c95-953888f3b43a",
                  "StringAttribute_00000000-0000-0000-0000-000000000262_Value":"meow"
               }
            ],
            "BooleanAttribute4":[  
               {  
                  "BooleanAttribute_00000000-0000-0000-0001-000500000001_Id":"932c5f97-c03f-4a1a-a0c5-a518f5edef5e",
                  "BooleanAttribute_00000000-0000-0000-0001-000500000001_Value":"true"
               }
            ],
            "SingleValueListAttribute5":[  
               {  
                  "SingleValueListAttribute_00000000-0000-0000-0001-000500000031_Id":"ef51dedd-6f25-4408-99a6-5a6cfa13e198",
                  "SingleValueListAttribute_00000000-0000-0000-0001-000500000031_Value":"Blah"
               }
            ],
            "Relation6":[  
               {  
                  "Animal_Id":"2715ca09-3ced-4b74-a418-cef4a95dddf1",
                  "Term7":[  
                     {  
                        "Animal_Target_Id":"88fd0090-4ea8-4ae6-b7f0-1b13e5cf3d74",
                        "Animal_Target_DisplayName":"Animaltheater",
                        "Animal_Target_FullName":"Animaltheater"
                     }
                  ]
               },
               {  
                  "Animal_Id":"6068fe78-fc8e-4542-9aee-7b4b68760dcd",
                  "Term7":[  
                     {  
                        "Animal_Target_Id":"4e87a614-2a8b-46c0-90f3-8a0cf9bda66c",
                        "Animal_Target_DisplayName":"Animaltitle",
                        "Animal_Target_FullName":"Animaltitle"
                     }
                  ]
               },
               {  
                  "Animal_Id":"754ec0e6-19b6-4b6b-8ba1-573393268257",
                  "Term7":[  
                     {  
                        "Animal_Target_Id":"a8986ed5-3ec8-44f3-954c-71cacb280ace",
                        "Animal_Target_DisplayName":"Animalcustomer",
                        "Animal_Target_FullName":"Animalcustomer"
                     }
                  ]
               },
               {  
                  "Animal_Id":"86b3ffd1-4d54-4a98-b25b-369060651bd6",
                  "Term7":[  
                     {  
                        "Animal_Target_Id":"89d02067-ebe8-4b87-9a1f-a6a0bdd40ec4",
                        "Animal_Target_DisplayName":"Animalfact_transaction",
                        "Animal_Target_FullName":"Animalfact_transaction"
                     }
                  ]
               },
               {  
                  "Animal_Id":"ea2e1b76-f8bc-46d9-8ebc-44ffdd60f213",
                  "Term7":[  
                     {  
                        "Animal_Target_Id":"e398cd32-1e73-46bd-8b8f-d039986d6de0",
                        "Animal_Target_DisplayName":"Animalfact_transaction",
                        "Animal_Target_FullName":"Animalfact_transaction"
                     }
                  ]
               }
            ],
            "Relation10":[  
               {  
                  "TargetRelation_b8b178ff-e957-47db-a4e7-6e5b789d6f03_Id":"aff80bd0-a282-4cf5-bdcc-2bad35ddec1d",
                  "Term11":[  
                     {  
                        "AnimalId":"3ac22167-eb91-469a-9d94-315aa301f55a",
                        "AnimalDisplayName":"Animal",
                        "AnimalFullName":"Animal"
                     }
                  ]
               }
            ],
            "Tag12":[  
               {  
                  "Tag_Id":"75968ea6-4c9f-43c9-80f7-dfc41b24ec8f",
                  "Tag_Name":"AnimalAnimaltitle"
               },
               {  
                  "Tag_Id":"b1adbc00-aeef-415b-82b6-a3159145c60d",
                  "Tag_Name":"Animal2"
               },
               {  
                  "Tag_Id":"5f78e4dc-2b37-41e0-a0d3-cec773af2397",
                  "Tag_Name":"AnimalDisplayName"
               }
            ]
         }
      ]
   }
}

是否有更好的方法来执行此操作,方法是在dict中搜索特定值并用乌龟替换喵,而无需进行任何unicode更改等。

1 个答案:

答案 0 :(得分:3)

是的,您可以做一个简单的for循环,这是简单字典的示例:

for i in dictionary:
    if dictionary[i]=='meow':
        dictionary[i]='turtle'

使用字典,您将获得每个字典键。您可以使用这些键查看值。