代码:
import itertools
class pt:
def __init__(self,x,y):
pt.x = x
pt.y = y
tuple_list = list(itertools.product([x+1 for x in range(9)],[x+1 for x in range(9)]))
dict1 = {}
for i in tuple_list:
dict1[i] = pt(*i)
print(dict1[(3,3)].x)
print(dict1[(3,3)].y)预期产出:
3
3输出:
9
9为什么它输出9 9
我想知道为什么创建并分配给字典的pt对象被更改了。是否需要创建另一个列表来存储pt对象?字典是否只存储对对象(内存位置)的引用,而不是存储对象本身?
发布于 2020-05-20 07:11:02
变化
pt.x
pt.y至
self.x
self.y现在,每次构造x和y时,您都要重写类变量pt和pt。您需要的是实例变量。
https://stackoverflow.com/questions/61907073
复制相似问题