2013-07-14 53 views
2

我碰到了一些奇怪的事情与numpy.random.shuffle功能NumPy的random.shuffle功能

from numpy import arange 
from numpy.random import shuffle 

a = arange(5) 
b = a 
c = a[:] 

shuffle(c) 

ab所有c变化。其实不管我是shuffle()哪个变量,其他两个都随它变化。我认为当我使用切片复制时,原始变量应该是独立的。我错过了什么?我如何保护原始变量不被更改?

+1

使用切片为普通列表创建副本,但不一定适用于所有类型。您必须阅读任何类型的对象的文档以查看切片是否生成副本。 – BrenBarn

回答