我有一些代码,我一生都无法弄清楚这些是如何共享内存的!!!!所有测试都是错误的(如图所示),然而,内存位置在功能上和视觉上似乎都相同。我花了几个小时试图排除故障,但无法弄清楚。 请帮忙!!!为什么这些阵列共享内存!??
listOfValues和listOfxValues在不应该共享内存时共享内存。
警告:丑陋,丑陋的代码,我很抱歉,这是艰难的一天。
listOfLists = []
splitold=0
#split arrays into each bin
for split in splitInd:
splitnew=split
listOfLists.append(xind[splitold:splitnew])
splitold=split
listOfValues = np.array(listOfLists.copy())
#convert to float type
for i,lst in enumerate(listOfValues):
listOfValues[i] = lst.astype(float)
listOfxValues = np.copy(listOfValues)
#PRINT TROUBLESHOOTING
print(listOfxValues.data)
print(listOfValues.data)
print(listOfValues is listOfxValues)
print(listOfValues == listOfxValues)
print(listOfValues.data is listOfxValues.data)
print(listOfValues.data == listOfxValues.data)
print(np.shares_memory(listOfxValues,listOfValues))
print(listOfxValues.__array_interface__['data'][0] == listOfValues.__array_interface__['data'][0])
print(listOfxValues.__array_interface__['data'][0] == listOfValues.__array_interface__['data'][0])
#exchange indexed values for real values
for each in range(len(listOfValues)):
for …Run Code Online (Sandbox Code Playgroud)