|
20鱼币
为啥字典会增加一个元素a呢?
- def dict_key_lencode(param_dict_in):
- param_dict = param_dict_in
- param_dict['a']=1
- param_dict = dict(sorted(param_dict.items()))
- StrAe = "&".join([f'{key}={value}' for key, value in param_dict.items()])
- return StrAe
- param_dict = {'b':1,'c':2}
- param_dict_temp = param_dict
- s = dict_key_lencode(param_dict_temp)
- print(param_dict)
复制代码
运行结果:
这是因为在函数中,参数 param_dict_in 和 param_dict 都指向了同一个字典对象。在函数中对 param_dict 的修改也会影响到 param_dict_in 所指向的字典对象。因此,在函数中添加了一个键为 a ,值为 1 的元素,导致原始字典也被修改了。
如果想要避免这种情况,可以在函数中创建一个新的字典对象,将原始字典的键值对复制到新的字典对象中。例如可以使用 param_dict.copy() 或者 dict(param_dict) 来创建一个新的字典对象。
|
最佳答案
查看完整内容
这是因为在函数中,参数 param_dict_in 和 param_dict 都指向了同一个字典对象。在函数中对 param_dict 的修改也会影响到 param_dict_in 所指向的字典对象。因此,在函数中添加了一个键为 a ,值为 1 的元素,导致原始字典也被修改了。
如果想要避免这种情况,可以在函数中创建一个新的字典对象,将原始字典的键值对复制到新的字典对象中。例如可以使用 param_dict.copy() 或者 dict(param_dict) 来创建一个新的字 ...
|