首页 > 解决方案 > 通过比较 Python 中其他数组的数据来创建新数组

问题描述

我目前有 3 个数组(36 x 36),现在我想创建一个第四个数组,它比较原始的三个数组并根据哪个数组在所述单元格中具有最大值绘制一个设定值。我能想到的最简单的解释方法如下。

假设我有数组;

a = [10,20,30]
    [15,20,18]

b = [0,10,70] 
    [36,67,9]

c = [0,50,20]
    [100,4,45] 

我想创建一个新数组,当“a”具有最大值时将绘制 1,当 b 最大时绘制 2,当 c 具有最大值时绘制 3。

所以新数组应该是这样的;

new_array = [1,3,2]
            [3,2,3]

我知道这可能是一个非常简单的循环,但我对 Python 不是很精通,可以用手。

标签: pythonarraysloopsif-statement

解决方案


如果你对循环没问题,你可以做这样的事情

new_array = [[0 for x in range(36)] for y in range(36)] 

for i in range(36):
  for j in range(36):
    if (a[i][j] >= b[i][j] and a[i][j] >= c[i][j]):
      new_array[i][j] = 1
    elif (b[i][j] >= a[i][j] and b[i][j] >= c[i][j]):
      new_array[i][j] = 2
    else:
      new_array[i][j] = 3

推荐阅读