# -*- coding: utf-8 -*-
# -------------------------------------------------------------------------
# This file is part of the MindStudio project.
# Copyright (c) 2025-2026 Huawei Technologies Co.,Ltd.
#
# MindStudio is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# `http://license.coscl.org.cn/MulanPSL2`
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# -------------------------------------------------------------------------
import random
def random_change_dict_value(ori_dict, random_value):
'''
Recursively modify a random value of dict
'''
key_list = [key for key in ori_dict.keys()]
change_key = random.choice(key_list)
change_value = ori_dict[change_key]
if isinstance(change_value, dict):
random_change_dict_value(change_value, random_value)
elif isinstance(change_value, list) and change_value:
change_index = random.randint(0, len(change_value) - 1)
if isinstance(change_value[change_index], dict):
random_change_dict_value(change_value[change_index], random_value)
else:
change_value[change_index] = random_value
else:
ori_dict[change_key] = random_value