2011-02-05 7 views
6

私はさまざまな数の要素(int)を持つリストのリストを持っています。私はそれを印刷したり書いたりしたいのですが、行ではなく列で書いています。Python - 列のリストのリストを書く

例:

l = [[1,2,3],[4,5],[6,7,8,9],[0]] 

結果:

1 4 6 0 
2 5 7 . 
3 . 8 . 
. . 9 . 

答えて

14

これを行う最も簡単な方法は、itertools.izip_longest()を使用することです:

for x in itertools.izip_longest(*l, fillvalue="."): 
    print " ".join(str(i) for i in x) 
3

この:

import itertools 

l = [[1,2,3],[4,5],[6,7,8,9],[0]] 

for t in itertools.izip_longest(*l): 
    print "".join("%3d" % x if x is not None else " ." for x in t) 

生産:

1 4 6 0 
    2 5 7 . 
    3 . 8 . 
    . . 9 . 
​​
関連する問題