2013-04-01 179 views
1

我有一個張量變量,它是一個大小爲4 * 5的矩陣,我想知道是否有快速的方法將這個變量打印到控制檯。我是否可以使用print而不使用for循環打印此變量?打印張量變量

回答

1

當然!

print ("{} {} {} {}\n" * 5).format(*t) 

具體取決於張量的確切佈局。這裏我假設有20個浮點數的元組。

或者,如果你覺得真的懶:

print (("{} "*4 + "\n")*5).format(*t) 
1
def main(): 
    matrix = [ 
     [ 1, 2, 3, 4], 
     [ 5, 6, 7, 8], 
     [ 9, 10, 11, 12], 
     [13, 14, 15, 16], 
     [17, 18, 19, 20], 
    ] 
    print("{} {} {} {} {}".format(*matrix)) 

if __name__ == '__main__': 
    main() 

結果:

[1, 2, 3, 4] [5, 6, 7, 8] [9, 10, 11, 12] [13, 14, 15, 16] [17, 18, 19, 20] 
4

NumPy的陣列可以用漂亮的格式打印:

In [187]: arr = np.arange(4*5).reshape(4,5) 

In [188]: print(arr) 
[[ 0 1 2 3 4] 
[ 5 6 7 8 9] 
[10 11 12 13 14] 
[15 16 17 18 19]] 

更多見numpy.set_printoptions如何控制Num顯示Py數組。