python - 在python中复制一个数组

标签 python arrays

<分区>

我正在尝试在 python 中复制一个 numpy 数组。 然后我想更改新数组的一些值,但是不知何故这也会更改原始数组?

为什么下面的代码不正确?

import numpy as np

a = np.array([1,1])
print("Array a:",a)

b = a
b[0] = a[0]*2
print("Array b after manipulation:", b)

print("Array a, after manipulating array b", a)

我能让它工作的唯一方法是列表理解。

import numpy as np

a = np.array([1,1])
print("Array a:",a)

b = [x for x in a]
b[0] = a[0]*2
print("Array b after manipulation:", b)

print("Array a, after manipulating array b", a)

最佳答案

Python中的赋值语句不会复制对象,需要使用copy():

b = a.copy()

关于python - 在python中复制一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66585998/

相关文章:

python - 运行 Python 子进程

python - 如何使用包含文件名和标签的数据帧将带有类标签的图像从单个目录加载到 Keras 模型中?

python - 使用 CSS/HTML/Python/SASS(但没有 JS)根据值更改表格单元格的背景颜色?不需要动态

javascript - 循环遍历两个对象数组以将匹配值推送到新数组在 React 中不起作用,但在 JS Fiddle 中起作用

java - 如何计算Java数组的内存大小?

python - 如何在一个 URL 中有多个获取参数?

python - 同时迭代/列表理解问题(在 UDF 中获取 Pandas 中的合并报告)

java - 编辑比较两个字符串之间的单词之间的距离

java - 计算数组中的元素数

java - 编程以查找数组中最不常见的条目