Python的参数传递与您可能习惯的语言有点不同。python没有按值显式传递和按引用语义传递,而是通过名称传递。本质上,您总是在传递对象本身,而对象的可变性决定了是否可以对其进行修改。列表和字典是可变对象。数字,字符串和元组则不是。
您正在将字典传递给函数,而不是副本。因此,当您修改它时,您也在修改原始副本。
为避免这种情况,您应该在调用函数之前先复制字典,或者从函数内部复制字典(将字典传递给
dict函数即可)。
欢迎分享,转载请注明来源:内存溢出
Python的参数传递与您可能习惯的语言有点不同。python没有按值显式传递和按引用语义传递,而是通过名称传递。本质上,您总是在传递对象本身,而对象的可变性决定了是否可以对其进行修改。列表和字典是可变对象。数字,字符串和元组则不是。
您正在将字典传递给函数,而不是副本。因此,当您修改它时,您也在修改原始副本。
为避免这种情况,您应该在调用函数之前先复制字典,或者从函数内部复制字典(将字典传递给
dict函数即可)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)