Python Numpy深度复制阵列
使用numpy复制数组时遇到问题。我正在运行几个不同的排序函数并比较运行时间,所以我需要一个原始数组的副本和一个我修改的副本。这是我的密码Python Numpy深度复制阵列,python,arrays,numpy,Python,Arrays,Numpy,使用numpy复制数组时遇到问题。我正在运行几个不同的排序函数并比较运行时间,所以我需要一个原始数组的副本和一个我修改的副本。这是我的密码 import numpy import random SIZE = 10 DISPLAY = True def random_fill(): return numpy.array([random.random()*10000 for i in range(SIZE)]) def copy(p): return numpy.copy(p)
import numpy
import random
SIZE = 10
DISPLAY = True
def random_fill():
return numpy.array([random.random()*10000 for i in range(SIZE)])
def copy(p):
return numpy.copy(p)
def display(p):
if (DISPLAY):
print a
print
def bubble_sort(array):
temp = 0
for i in range(SIZE, 1, -1):
for j in range(1, i):
if (array[j-1] > array[j]):
temp = array[j-1]
array[j-1] = array[j]
array[j] = temp
a = random_fill()
b = copy(a)
display(a)
display(b)
bubble_sort(a)
display(a)
display(b)
第一个
a
和b
作为随机数组正确显示。然后a
正确排序和显示,但b
准确显示a
是什么<代码>b应保持未排序状态。这里有什么问题?您不应该使用print a
,而应该使用print p
,否则您将打印全局数组,而不是传递给函数的数组