以表格形式打印python列表

2024-04-27 05:41:36 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将此列表打印成表格格式,以yasix为纵轴,x轴为横轴,仅使用for循环?你知道吗

data = [
104, 117, 130, 143, 156, 169, 182, 195, 208,
112, 126, 140, 154, 168, 182, 196, 210, 224, 
120, 135, 150, 165, 180, 195, 210, 225, 240, 
128, 144, 160, 176, 192, 208, 224, 240, 256, 
136, 153, 170, 187, 204, 221, 238, 255, 272, 
144, 162, 180, 198, 216, 234, 252, 270, 288, 
152, 171, 190, 209, 228, 247, 266, 285, 304, 
160, 180, 200, 220, 240, 260, 280, 300, 320]

xaxis = [1,2,3,4,5,6,7,8,9]
yaxis = [4,5,6,7,8,9,10,11]

与此类似,我不需要线路。你知道吗

+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
| Adelaide  | 1295 |  1158259   |      600.5      |
| Brisbane  | 5905 |  1857594   |      1146.4     |
| Darwin    | 112  |   120900   |      1714.7     |
| Hobart    | 1357 |   205556   |      619.5      |
| Melbourne | 1566 |  3806092   |      646.9      |
| Perth     | 5386 |  1554769   |      869.4      |
| Sydney    | 2058 |  4336374   |      1214.8     |
+-----------+------+------------+-----------------+

Tags: namecity列表fordata格式area线路
1条回答
网友
1楼 · 发布于 2024-04-27 05:41:36

如果您想完全自己完成这项工作,可以使用here中的配方,并按如下方式构造表:

def line(l, sep="\t"):
    return sep.join(str(item) for item in l)

print(line([""] + xaxis))  # table header
lenx = len(xaxis)
for y, xindex in enumerate(range(0, len(data), lenx)):
    print(line([yaxis[y]] + data[xindex:xindex+lenx]))

结果:

        1       2       3       4       5       6       7       8       9
4       104     117     130     143     156     169     182     195     208
5       112     126     140     154     168     182     196     210     224
6       120     135     150     165     180     195     210     225     240
7       128     144     160     176     192     208     224     240     256
8       136     153     170     187     204     221     238     255     272
9       144     162     180     198     216     234     252     270     288
10      152     171     190     209     228     247     266     285     304
11      160     180     200     220     240     260     280     300     320

相关问题 更多 >