使用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)
答案 0 :(得分: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