Arrays 将列表列表打印为列,列之间具有相等的空间

Arrays 将列表列表打印为列,列之间具有相等的空间,arrays,python-2.7,list,nested,Arrays,Python 2.7,List,Nested,我在python中有一个列表,列表中的每个列表都有相同数量的元素 sample_list = [['1','22222222222222222','333'], ['111111111','2','3'], ['1','2','3']] 我想打印出列表中的元素,使它们看起来像这样 1 22222222222222222 333 111111111 2 3 1

我在python中有一个列表,列表中的每个列表都有相同数量的元素

sample_list = [['1','22222222222222222','333'],
               ['111111111','2','3'],
               ['1','2','3']]
我想打印出列表中的元素,使它们看起来像这样

1          22222222222222222  333 
111111111  2                  3
1          2                  3
在最长项目与下一列之间,将有2个空格。因此,在第二行第一列中,1的序列继续,下一列继续时,另两个空格将继续。我不知道每个元素的确切长度,因此仅使用制表符(\t)不起作用。如何将嵌套列表打印到由两个空格分隔的列组成的表中

编辑: 我希望尽可能避免使用外部模块,我需要在python 2中使用它,比如:

sample_list = [['1','22222222222222222','333'],
               ['111111111','2','3'],
               ['1','2','3']]
备选案文1:

# Store max lengths
l = [len(max(i, key=len)) for i in zip(*sample_list)]

for item in sample_list:
    for idx in range(len(l)):
        print(item[idx].ljust(l[idx]), end='  ')
    print()
备选方案2(可读性较差,但无工件)

备选方案1(蟒蛇2):



您可以循环浏览列表并存储最长的长度,然后执行以下操作:有这么多的包为您制表数据。问题包括行和列的标题。我希望我的标题仅用于区分我忘了提到的我需要python解决方案的Columnsorry2@eclipse当然但您可能应该尝试使用解决方案2,因为它不会创建工件。额外的空间和行结束
# Store max lengths
l = [len(max(i, key=len)) for i in zip(*sample_list)]

print('\n'.join('  '.join(item[i].ljust(l[i]) for i in range(len(l))) 
              for item in sample_list))
# Store max lengths
l = [len(max(i, key=len)) for i in zip(*sample_list)]

for item in sample_list:
    for idx in range(len(l)):
        print item[idx].ljust(l[idx]), "",
    print
1          22222222222222222  333  
111111111  2                  3    
1          2                  3