为什么修改数组的副本会影响原始数组?

2024-04-22

大家好,如果这是一个菜鸟问题,我很抱歉,但我使用的是 python,我有一个问题,我复制一个数组,但当我修改副本时,它会影响原始数组。我想将边界矩阵的线性偏移添加到一组坐标:

boundaries = [[5.818, 0.0, 0.0], [0.0, 5.818, 0.0], [0.0, 0.0, 5.818]]

xyzCoord = [[0.0, 0.0, 0.0], [2.909, 2.909, 0.0], ...

extraX=[]
for i in range(0,len(xyzCoord)):
    toAdd=[]
    toAdd=xyzCoord[i]
    toAdd[0]=toAdd[0]+boundaries[0][0]

print xyzCoord

我期望的输出是 xyzCoord 不应受到影响,因为我复制了一个 (toAdd),然后对其进行修改。奇怪的是,这个循环确实影响了我的 xyzCoord:

输出是:

[[5.818, 0.0, 0.0], [0.0, 5.818, 0.0], [0.0, 0.0, 5.818]]

[[0.0, 0.0, 0.0], [2.909, 2.909, 0.0], ...

[[5.818, 0.0, 0.0], [8.727, 2.909, 0.0], ...

编辑:对于上下文,我的想法是,我想最终使用转置值创建一个单独的列表,然后最终创建一个插入列表,但这部分阻碍了我。 IE。我理想地想创建: [[0.0, 0.0, 0.0], [5.818, 0.0, 0.0], [2.909, 0.0, 0.0], [8.727, 2.909, 0.0]...] 然后为 Y 和 Z 做一个更大的循环。这样我就可以在 X Y 和 Z 中传播一些坐标并任意次数。


这是 Python 最令人惊讶的事情之一 -=操作员从不复制任何东西!它只是将新名称附加到现有对象。

如果你想复制一个列表,你可以使用列表的切片;切片运算符does复印一份。

toAdd=xyzCoord[i][:]

您还可以使用copy or deepcopy来自copy module http://docs.python.org/2/library/copy.html制作对象的副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么修改数组的副本会影响原始数组? 的相关文章

随机推荐

  • 如何在项目中生成jar和war

    我们有两个不同的项目 并且两个项目中的控制器几乎相同 项目 A 内部有控制器 所以为其引发战争不是问题 但是项目 B 需要项目 A 控制器的控制器 jar 谁能告诉我如何从项目 A 的控制器生成可以在项目 B 中使用的 jar 文件 这种情
  • X-FRAME-OPTIONS: DENY 通过 nginx 来自 Django 站点在哪里?

    我的 Django 网站使用django summernote https github com summernote django summernote在 iframe 中 并抛出此错误 多个具有冲突值的 X Frame Options
  • C# 获取分配总数

    有没有办法获得分配总数 注意 分配数量 而不是分配的字节数 它可以是当前线程的 也可以是全局的 以更容易的为准 我想检查特定函数分配了多少个对象 虽然我了解 调试 gt 性能分析器 Alt F2 但我希望能够从程序内部以编程方式执行此操作
  • 允许 PDFium 支持 x86 和 x64

    我构建了一个 WinForms 应用程序 它使用 PDFium 来打印 PDF 文档 我从 NuGet 安装了 PDFium 它在我的项目中创建了两个子文件夹 x86 和 x64 正如预期的那样 每个子文件夹中都包含相关版本的 pdfium
  • 将均匀分布转换为正态分布

    如何将均匀分布 大多数随机数生成器产生的结果 例如在 0 0 和 1 0 之间 转换为正态分布 如果我想要我选择的平均值和标准差怎么办 方法有很多 Do not使用博克斯穆勒 特别是当你画很多高斯数时 Box Muller 产生的结果被限制
  • Django:模型类 user.models.Users 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

    姜戈版本 2 0蟒蛇 3 6 5错误 模型类 user models Users 未声明显式 app label 并且不在 INSTALLED APPS 中的应用程序中 我刚刚将模型用户添加到我的视图中 base py DJANGO APP
  • 在SQL Server 2012 TSQL中,使用XML RAW、XML AUTO和XML PATH有什么区别

    正如标题所示 欢迎所有开放的思想 我在我的电脑上测试了一下 输出似乎是一样的 例如 USE BOB DATABASE SELECT ID Name First Name Last Name FROM DBO T User FOR XML A
  • 生成字符串所有组合的算法

    我在网上找到了一个链接 其中显示了生成字符串的所有组合的算法 http www mytechinterviews com combinations of a string http www mytechinterviews com comb
  • 为什么选择源进行 SQL 架构比较会导致 VS2012 崩溃?

    似乎没有任何原因 选择 SQL gt 架构比较 gt 新架构比较 然后尝试 选择源 会导致 Visual Studio 2012 崩溃 几个月来它一直按预期工作 除了尝试重新安装之外还有其他可能的修复方法吗 注意 尝试在 Visual St
  • 如何将数据从servlet传递到android应用程序

    I have a form in android upon submit im inserting it into database using servlet i have to show to user that form was in
  • 如何在JavaScript中计算3点之间的角度? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在 JavaScript 中获取 3 点之间的角度 如果我有积分A x1 y1 B x2 y2 and C x3 y3 我想得到由线A
  • Nightwatch.js 始终返回退出代码 1

    我尝试将 Nightwatch js 测试集成到 Jenkins 作业中 如果测试失败 我希望 Jenkins 构建失败 如果所有测试都通过 我希望构建通过 但我认识到夜巡总是返回exit code 1 测试通过或失败并不重要 但我期望ex
  • Python 转换日期格式

    给定一个像这样的字符串 2020 08 14 我如何将其转换为 14 August 2020 使用Python 3 您可以使用datetime用于重新格式化日期字符串的模块 使用strptime你可以从一个字符串读入一个datetime对象
  • 如何用 POST 替换 window.open(...)

    我目前有一些运行的代码window open urlWithGetParams 线 据我所知 这将迫使我使用GET要求 我想通过 POST 请求来完成此操作 有解决方法吗 我没有结婚window open 任何一个 我愿意接受任何允许我通过
  • 我可以换行 img 替代文本吗?

    我有一个由 css 样式设置为 100x75 的图像 当它不加载时 替代文本会加载到空间中 但会将容器扩展到超过 100 像素宽度 我怎样才能防止这种情况发生 要么把它剪掉 要么把它包起来 好吧 我在某种程度上明白了 我只是将图像包装在相同
  • QUERY Google Sheets 函数中同一字符串中的引号和撇号

    我想知道如何处理这样的查询 假设电子表格的单元格 A2 中包含以下文本 Case Bakers Flats 12 White Flour Tortillas 10 12ct 并需要将以下公式代入B2 QUERY importrange KE
  • 了解 JPA 序列生成器

    我正在使用 spring data JPA 的序列生成器将主键分配给实体 模型包含 Id GeneratedValue strategy GenerationType SEQUENCE generator seq post Sequence
  • 使用 GPUImageFilter 时发生崩溃

    我从 Github 上 Brad Larson 的教程开始 当我将这些代码添加到我的项目中时 void viewDidLoad super viewDidLoad GPUImageVideoCamera videoCamera GPUIma
  • reg 声明中的位顺序

    如果我需要使用 4 个 8 位数字 我会声明以下 reg reg 7 0 numbers 3 0 我对第一个和第二个声明 7 0 和 3 0 之间的区别感到很困惑 他们应该按什么顺序来 第一个是保留数字的大小 而第二个是保留数字的数量 还是
  • 为什么修改数组的副本会影响原始数组?

    大家好 如果这是一个菜鸟问题 我很抱歉 但我使用的是 python 我有一个问题 我复制一个数组 但当我修改副本时 它会影响原始数组 我想将边界矩阵的线性偏移添加到一组坐标 boundaries 5 818 0 0 0 0 0 0 5 81