Python新手,我不理解以下操作的结果。 我使用astropy.Table
从文件中读取了一个表data = Table.read(image_data_file, format='ascii')
然后我创建一个新的相同的表:
data2 = data
当更改新表“data2”中的条目(或整列)时,在原始的“数据”中也会更改此项。
data2['col2'] = 0
为什么会这样?
答案 0 :(得分:1)
使用data2 = data.copy()
制作副本,而不是对相同数据的引用。
答案 1 :(得分:0)
这里已多次回答,但我不记得以什么名字命名。
在python中,如果你这样做:
a = [1, 2, 3]
b = a
b.append(4)
b[2] = 5
在那时,a和b都将拥有完全相同的数据。
这是因为b = a,所以实际上,python将两个变量都指向场景后面的相同内存地址。