如何以表格格式(python)打印列表中的值?

问题描述 投票:0回答:1

使用python 2.7,我想以表格格式显示值,而不使用pandas / prettytable。我是python的初学者,我正在努力学习。

以下是我在列表中的值

listA = ["Alpha","Beta","gama","cat"]
data = [["A","B","C","D"],["E","F","G","H"],["I","J","K","L"],["M","N","O","P"]]

预期输出 - 以表格格式显示如下:

Alpha  Beta  gama  cat    
A      B     C     D   
E      F     G     H     
I      J     K     L
M      N     O     P

我尝试了以下代码,我没有得到所需的结果:

def print_results_table(data, listA):
    str_l = max(len(t) for t in listA)
    print(" ".join(['{:>{length}s}'.format(t, length = str_l) for t in [" "] + listA]))

    for t, row in zip(listA, data):
        print(" ".join(['{:>{length}s}'.format(str(x), length = str_l) for x in [t] + row]))

print_results_table(data, listA)
python-2.7
1个回答
0
投票

你很亲密!

def print_results_table(data, listA):
    str_l = max(len(t) for t in listA)
    str_l += 2 # add two spaces between elements
    # print the titles
    for title in listA:
        print('{:<{length}s}'.format(title, length = str_l), end='')
    print()

    # print the values
    for row in data:
        for val in row:
            print('{:<{length}s}'.format(val, length = str_l), end='')
        print()

输出:

Alpha  Beta   gama   cat    
A      B      C      D      
E      F      G      H      
I      J      K      L      
M      N      O      P 
© www.soinside.com 2019 - 2024. All rights reserved.