2013-07-14 3 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) 

a и b все изменения с c. На самом деле, независимо от того, какая переменная, две другие, меняются вместе с ней. Я подумал, что когда я использую копию фрагмента, исходная переменная должна быть независимой. Я что-то пропустил? Как защитить исходную переменную от изменения?

+1

Использование кусочка делает копию для обычных списков, но не обязательно для всех типов. Вы должны прочитать документацию для любого объекта, который будет использоваться, чтобы увидеть, делает ли нарезка копией или нет. – BrenBarn

ответ

Смежные вопросы