迭代字典中的配对值

时间:2012-11-18 02:15:39

标签: python-2.7 arcpy

我已将grid1和grid2转换为数组,并使用以下函数迭代表,并在grid1和grid2值匹配时返回相应的值表格表。但不知何故,最终输出只包含4个不正确的整数值。有什么建议可能在这里错了吗?

def grid(grid1,grid2):
    table = {(10,1):61,(10,2):75,(10,3):83,(10,4):87,
             (11,1):54,(11,2):70,(11,3):80,(11,4):85,
             (12,1):61,(12,2):75,(12,3):83,(12,4):87,
             (13,1):77,(13,2):85,(13,3):90,(13,4):92,}
    grid3 = np.zeros(grid1.shape, dtype = np.int)

    for k,v in table.iteritems():
        grid3[[grid1 == k[0]] and [grid2 == k[1]]] = v

    return grid3

1 个答案:

答案 0 :(得分:0)

我认为发生的事情是变量“k”和“v”的赋值没有使用“deepcopy”完成。这意味着赋值只是变量而不是它们的值。例如,当“k”的值在后续迭代中发生变化时,所有先前的“gridx”赋值现在都反映了“k”的新/当前状态。