简体   繁体   English

如何从行列表中打印列表?

[英]How do you print lists from within a list in rows?

Here's the list: 这是清单:

 alist = ([1,2,3],[4,5,6],[7,8,9],[10,11,12])

I need to print the list like this: 我需要像这样打印列表:

list1     list2     list3     list4
1          4         7         10
2          5         8         11
3          6         9         12

Here is my code so far: 到目前为止,这是我的代码:

for item in alist:
    print("{:>8.2f} {:>8.2f} {:>8.2f} {:>8.2f}".format(the meat and potato goes here))

This is one way using str.format , zip and * unpacker. 这是使用str.formatzip* str.format一种方法。

alist = ([1,2,3],[4,5,6],[7,8,9],[10,11,12])
cols = ['list1', 'list2', 'list3', 'list4']

print("{:>8} {:>8} {:>8} {:>8}".format(*cols))

for item in zip(*alist):
    print("{:>8} {:>8} {:>8} {:>8}".format(*item))

Result: 结果:

   list1    list2    list3    list4
       1        4        7       10
       2        5        8       11
       3        6        9       12

This is another way: 这是另一种方式:

alist = ([1,2,3],[4,5,6],[7,8,9],[10,11,12])
print('list1\tlist2\tlist3\tlist4')
for row in zip(*alist): 
    print('%d\t%d\t%d\t%d' % row)

Result: 结果:

list1   list2   list3   list4
1       4       7       10
2       5       8       11
3       6       9       12

Or using .format() : 或使用.format()

print('list1\tlist2\tlist3\tlist4')
for row in zip(*alist):
    print('{0[0]}\t{0[1]}\t{0[2]}\t{0[3]}'.format(row))

Result: 结果:

list1   list2   list3   list4
1       4       7       10
2       5       8       11
3       6       9       12

Using zip : 使用zip

alist = ([1,2,3],[4,5,6],[7,8,9],[10,11,12])
print('  '.join('list{}'.format(i+1) for i in range(len(alist))))
for i in zip(*alist):
   print '\t'.join(['{}']*len(alist)).format(*i)

Output: 输出:

list1  list2  list3  list4
1       4      7     10
2       5      8     11
3       6      9     12

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM