我有打印数组的函数:
In [93]:
printArr(arrs[0], Nrows, Ncols)
# # #
# # #
# # #
O O O
O O O
O O O
在 printArr 函数中,我在该函数对 pythons print 函数的调用末尾添加了一个逗号 (,),以获取 3 列中的输出。
但是,如果我想对 printArr 进行多次调用,并将输出堆叠到列中,就像这样怎么办?
# # # O O O
# # # # # #
# # # # # #
O O O O O O
O O O O O O
O O O O O O
两次调用 printArr 就得到了这个
In [96]:
printArr(arrs[0], Nrows, Ncols)
print " "
printArr(arrs[1], Nrows, Ncols)
# # #
# # #
# # #
O O O
O O O
O O O
O O O
# # #
# # #
# # #
O O O
O O O
有什么办法可以做到这一点,还是我必须重做整个 printArr 函数?
谢谢
编辑: 好的,这是我的 printArr 函数
def printArr(arr, Nrows, Ncols):
for row in range(0, Nrows):
for col in range(0, Ncols):
if arr[row][col] == 1:
print '#',
else:
print 'O',
print " "
它需要一个 3 维 Ndarray 作为输入,我打算使用该函数以一种很好的方式打印该数组中的所有矩阵(例如总共 3 列和 3 行)
再次感谢
最佳答案
def printArrays(listOfArrays,cols):
splittedArrays = [[array[x:x+cols] for x in range(0,len(array),cols)] for array in listOfArrays]
c = list(zip(*splittedArrays))
c = ["".join([[" "+"".join(y)][0]for y in x]) for x in c]
print("\n".join([" ".join(array) for array in c]))
a =["a","b","c","a","b","c"]
b= ["x","y","z","x","y","z"]
printArrays([a,b],3)
printArrays([a,b],2)
关于python - 调用打印功能,避免换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29279269/