2017-03-18 45 views
0

我想使一個代碼,獲得以下結果顯示。在Python我想使一個代碼到下表從雙陣列

Input: mylist=[[-1,3,111,'b'],[0,'a',1],[-2,1]] 
Output: -1   111 'b' 
      3 'a' 1 
     -2 1 

我試着讓代碼如下。

blank1=' ' 
for x in mylist: 
    for y in x: 
     print blank1 if y==0 else y, 
    print 
print 

但結果不是我想要的。 我想讓每個條目都對齊中心 我應該在哪裏修復它?

回答

0

使用str.center

for x in mylist: 
    s="" 
    for y in x: 
     s+=str(" " if y==0 else y).center(10) 
    print s 

更改10到任何你想要的寬度。使用陣列

s+=str(" " if y==0 else "'"+y+"'" if isinstance(y, basestring) else y).center(10) 

輸出這個代碼與報價抽動:

如果你真的想那些qoutes您可以使用此

-1     111  'b'  
     'a'  1  
-2  1  
+0

你能告訴我如何讓每個字母對齊對嗎? –

+0

老實說,你應該自己開始在文檔中查找一下。 str.center()存在的事實使得很可能存在類似的函數。是的,這叫做rjust。 https://www.tutorialspoint.com/python/python_strings.htm – klutt

相關問題