【问题标题】:Using 2 Python Arrays [closed]使用 2 个 Python 数组 [关闭]
【发布时间】:2015-03-11 13:37:11
【问题描述】:

我有两个大小相同的二维数组,每个数组都有不同的值。我希望能够在其中一个数组中找到一个值,比如所有的 2,并且在所有 2 的情况下,填充另一个数组中同一位置的任何值。你会如何在 Python 中做到这一点?

【问题讨论】:

  • 这太宽泛了,你试过什么?
  • 你必须提供一些代码,以及至少 2 个二维数组(输入和期望的输出)
  • 如果我有一个数组 [ [1 2 2], [3 4 2], [6 2 4] ] 和另一个数组 [ [.02 .91 .65], [.30 .01 .54], [.06 .31 .81] ],我希望能够将第一个数组中的所有 2 替换为第二个数组中位于同一位置的值。例如,我希望第一个数组中的前 2 个值为 .91
  • 二维数组可以用不同的方式实现(仅举几例,列表列表,array 模块,numpy 模块)。如果您需要帮助,能否说明您已经完成的工作?

标签: python arrays


【解决方案1】:

如果你使用numpy,你可以试试这个:

import numpy as np
A = np.array([[11,12,13],[21,22,23],[31,32,33]])
B = np.array([[ 1, 2, 3],[ 2, 1, 3],[ 1, 3, 2]])
B[B==2] = A[B==2]

在这里,B==2 为每个在B 中存在2 的单元格创建一个带有True 的布尔矩阵。现在,B[B==2]B 获取所有这些单元格,并将它们设置为AA[B==2] 中的任何内容。

之后,B 中的每个2 都被替换为A 中的对应值:

[[ 1 12  3]
 [21  1  3]
 [ 1  3 33]]

【讨论】:

  • 谢谢!这正是我想要的!
猜你喜欢
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多