请允许我对Python
有点陌生,我可以说python非常性感,直到我需要转换一个4x4矩阵的内容,我想用它来构建一个2048游戏的演示是here我有这个功能
def cover_left(matrix):
new=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
for i in range(4):
count=0
for j in range(4):
if mat[i][j]!=0:
new[i][count]=mat[i][j]
count+=1
return new
这就是这个函数的作用,如果你这样调用它
^{pr2}$它将覆盖左边的0并生成
[ [1, 2, 0, 0],
[3, 4, 0, 0],
[5, 6, 0, 0],
[7, 8, 0, 0]]
请让我需要有人来帮助我做这件事的numpy
方式,我相信这将更快,需要更少的代码(我正在使用深度优先搜索算法),更重要的是,cover_up
,cover_down
的实现
`cover_left`.
`cover_up`
[ [1, 7, 2, 8],
[3, 0, 4, 0],
[5, 0, 6, 0],
[0, 0, 0, 0]]
`cover_down`
[ [0, 0, 0, 0],
[1, 0, 2, 0],
[3, 0, 4, 0],
[5, 7, 6, 8]]
`cover_right`
[ [0, 0, 1, 2],
[0, 0, 3, 4],
[0, 0, 5, 6],
[0, 0, 7, 8]]
提前谢谢。在
多亏了这一切,我后来才用上了
这是一个受^{} 启发的矢量化方法,并将其推广到涵盖所有四个方向的
non-zeros
样本运行-
^{pr2}$相关问题 更多 >
编程相关推荐