首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NumPy random.shuffle函数

NumPy random.shuffle函数
EN

Stack Overflow用户
提问于 2013-07-14 15:06:22
回答 2查看 387关注 0票数 2

我在使用numpy.random.shuffle函数时遇到了一些奇怪的事情

代码语言:javascript
复制
from numpy import arange
from numpy.random import shuffle

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

shuffle(c)

ab都使用c进行了更改。实际上,无论我shuffle()哪个变量,其他两个变量都会随之改变。我认为当我使用slice copy时,原始变量应该是独立的。我错过了什么吗?如何保护原始变量不被更改?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-14 15:10:37

根据Basic slicing documentation的说法

通过基本切片生成的所有数组始终是原始数组的视图。

使用ndarray.copynumpy.copy获取副本。

票数 5
EN

Stack Overflow用户

发布于 2013-07-14 15:10:33

使用c = a.copy()可以对您有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17637327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档