[英]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.format
, zip
和*
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.