python问题 此函数要将二维数组中第二行第一列的元素上下左右移动

如题,此move函数要将二维数组中第二行第一列的元素上下左右移动我设计了一个motions数组表示移动【0,0】不动【0,1】右移,【1,0】下移,【0,-1】左移...
现在单独执行【0,1】成功,执行【【0,0】,【0,1】】移动了两步,有问题。请大神帮忙看看是什么问题
我初步怀疑是p数组没有更新
move函数的输入是p数组,motions;输出是aux数组表示移动后的数组
p=[[0,0,0],
[1,0,0],
[0,0,0]]
motions = [[0,0],[0,1]]
#p_move=1.0
#p_stay=1.0-p_move
def move(p,motion):
aux=[[0.0 for row in range(len(p[0]))] for col in range(len(p))]
for m in range(len(motions)):
for i in range(len(p)):
for j in range(len(p[i])):
aux[i][j]=p[(i-motions[m][0])%len(p)][(j-motions[m][1])%len(p[i])]
show(aux)
return aux

def show(p):
for i in range(len(p)):
print(p[i])
for k in range(len(motions)):
p=move(p,motions[k])
show(p)

table = [["col1","col2","col3","col4"]]for i in range(99): table.append(read_data())没有table类,你不是说就做二位数组嘛。这样就可以了。。然后你的read_data每次返回一个具有4个数据的list就可以了。
温馨提示:答案为网友推荐,仅供参考