我正在尝试定义一个函数,它接受列表,如[[0,1,2,3,5,5,[0,1,4,9,16,25],[0 ,1,8,27,64,125]]并使用“\ t”返回数字网格,如下所示
0 1 2 3 4 5
0 1 4 9 16 25
0 1 8 27 64 125
到目前为止我只有:
def print_table(alist):
for i in alist:
print(i)
只是很好地打印每个列表......但仍然在列表中。
答案 0 :(得分:1)
你可以这样做:
l = [[0,1,2,3,4,5],[0,1,4,9,16,25],[0,1,8,27,64,125]]
print("\n".join("\t".join(map(str, v)) for v in l))
结果是:
0 1 2 3 4 5
0 1 4 9 16 25
0 1 8 27 64 125
如果要在函数中重用此代码,可以为它创建简单的lambda:
as_grid = lambda in_list: "\n".join("\t".join(map(str, v)) for v in l)
print(as_grid(l))
答案 1 :(得分:0)
lists = [[0,1,2,3,4,5],[0,1,4,9,16,25],[0,1,8,27,64,125]]
y = []
for l in lists:
l = [str(z) for z in l]
y.append('\t'.join(l))
print '\n'.join(y)
打印:
0 1 2 3 4 5
0 1 4 9 16 25
0 1 8 27 64 125