-2

Python新手,我不明白以下操作的结果。我使用 astropy.Table 从文件中读取表格

data = Table.read(image_data_file, format='ascii')

然后我制作一个新的相同表:

data2 = data

当更改新表“data2”中的条目(或整列)时,原始“数据”中的条目也会更改。

data2['col2'] = 0 

为什么是这样?

4

2 回答 2

1

用于data2 = data.copy()制作副本而不是引用相同的数据。

于 2015-09-26T22:04:34.027 回答
0

这已经在这里回答了很多次,但我不记得用什么名字。

在 python 中,如果你这样做:

a = [1, 2, 3]
b = a
b.append(4)
b[2] = 5

最后,a 和 b 都将具有完全相同的数据。

这是因为b = a,所以实际上python在后台将两个变量都指向了同一个内存地址。

于 2015-09-26T17:24:13.487 回答