【发布时间】:2020-11-09 00:13:50
【问题描述】:
class class1():
def __init__(self,dict1={1:2,3:4}):
self.dict1=dict1
return
list1=[]
list1.append(class1())
list1.append(class1())
list1.append(class1())
list1[0].dict1[1]="test"
print(list1[0].dict1,list1[1].dict1,list1[2].dict1)
输出: {1:'测试',3:4} {1:'测试',3:4} {1:'测试',3:4}
每当我更改“list1”第一项的元素时,例如将键“1”的值从“2”更改为“test”,每个元素都会采用相同的更改。
如何做到只有第一个元素被改变?
提前致谢。
【问题讨论】:
-
def __init__(self,dict1=None): if not dict1: self.dict1=dict1 or {1:2,3:4}
标签: python python-3.x class dictionary