我有三个清单。我需要将它们分三列打印出来

I have three lists. I need to print them out together in three columns

下面是我希望它们打印出来的方式

           list 1               list 2                 list 3

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

使用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

如果所有列表的长度都相同,您可以遍历它们并按索引获取元素:

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

这就是我要找的

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