Python 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)

使用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)

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
,否则您将打印全局数组,而不是传递给函数的数组