我正在尝试创建一个函数,该函数输出一个矩阵,该矩阵包含列表中单独行中的每个项目。我得到的唯一输出是报价('')。我不懂为什么。我想我已正确设置以输出所需内容,但必须缺少某些东西?
我在代码下方添加了示例。
def show_table(table):
table=[]
s=[[str(e) for e in row] for row in table]
lens= [max(map(len, col)) for col in zip(*s)]
fmt= '\t'.join('{{:{}}}'.format(x) for x in lens)
table= [fmt.format(*row) for row in s]
return '\n'.join(table)
show_table([['A','BB'],['C','DD']])
输出:
' | A | BB | \ n | C | DD | \ n'
打印(show_table([[' A'' BB'],[' C'' DD']])) 输出:
| A | BB | | C | DD |
答案 0 :(得分:0)
问题出在第二行,您将列表初始化为空列表。而是尝试:
if table is None:
table = []
或许更好的方法是:
def show_table(table):
if table is None:
table = []
data = ""
for row in table:
for val in row:
data += "| " + val + " "
data += "|\n"
return data.strip("\n")
print show_table([['a','bb'],['c','dd']])
输出:
| a | bb |
| c | dd |