2016-11-30 65 views
-3

一起打印出來,下面是我多麼希望他們打印出來我有三個列表。我需要在三列

  list 1    list 2     list 3 

      1      1      1 
      2      2      2 
      3      3      3 
      4      4      4 
+1

你可以使用'zip(list1,list2,list3)'到t將列表放入列中。除此之外...發佈一些代碼! – tdelaney

回答

1

使用zip。假設你有三個列表,

>>> a=[1, 2, 7] 
>>> b=[3, 4, 8] 
>>> c=[5, 6, 9] 

然後,

for row in zip(a, b, c) : 
    print (*row) 

輸出:

1 3 5 
2 4 6 
7 8 9 
+0

這不適用於python 3.x.但是'對於zip(a,b,c)行:print(* row)'做。 – tdelaney

+0

感謝您的建議@tdelaney – Jarvis

0

如果所有的列表具有相同的長度,你可以遍歷它們,並通過指數得到元素:

l=[1,2,3,4] 
l2=[5,6,7,8] 
l3=[9,10,11,12] 
for i in range(len(l)): 
    if i == 0: 
     print('l1 l2 l3') 
    print('{0} {1} {2}'.format(l[i], l2[i], l3[i])) 

輸出:

l1 l2 l3 
1 5 9 
2 6 10 
3 7 11 
4 8 12 

需要注意的是,如果你想直列你應該在格式化指定長度:

for i in range(len(l)): 
    if i == 0: 
     print('l1 l2 l3') 
    print('{0:>{length}} {1:>{length}} {2:>{length}}'.format(l[i], l2[i], l3[i], length=2)) 

輸出:

l1 l2 l3 
1  5  9 
2  6 10 
3  7 11 
4  8 12 
0

這就是我正在尋找

for row in zip(list1, list2, list3) : 
      print ("{0:<10} {1:>8} {2:>16}".format(*row))