首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 Python 打印漂亮的表格,这两项基本功你可会?

点击蓝色“Python空间”关注我丫

加个“星标”,每天一起快乐的学习

今天给大家介绍如何在打印字符串时,规则对齐的两种方法,帮助大家在 shell 界面下输出漂亮的表格。

第一种:使用 format

先来看几个小 demo

左对齐

>>> "{:

'a         '

>>>

右对齐

>>> "{:>10}".format("a")

'         a'

>>>

居中

>>> "{:^10}".format("a")

'    a     '

>>>

当你不指定 、>、^ 时,默认就是左对齐

>>> "{:10}".format("a")

'a         '

>>>

有了上面的铺垫,写一个整齐的 1-10 的平方、立方表就很容易了。

>>> for x in range(1, 11):

...        print('{:2d} {:3d} {:4d}'.format(x, x*x, x*x*x))

...

1   1    1

2   4    8

3   9   27

4  16   64

5  25  125

6  36  216

7  49  343

8  64  512

9  81  729

10 100 1000

对齐的思想其实就是在不足的位自动给你补上空格。

如果不想使用空格,可以指定你想要的字符进行填充,比如下面我用 0 来补全。

>>> for x in range(1, 11):

...     print('{:02d} {:03d} {:04d}'.format(x, x*x, x*x*x))

...

01 001 0001

02 004 0008

03 009 0027

04 016 0064

05 025 0125

06 036 0216

07 049 0343

08 064 0512

09 081 0729

10 100 1000

第二种:使用 ljust, rjust

左对齐

>>> "a".ljust(10)

'a         '

>>>

右对齐

>>> "a".rjust(10)

'         a'

>>>

居中

>>> "a".center(10)

'    a     '

>>>

同样写一个整齐的 1-10 的平方、立方表

>>> for x in range(1, 11):

...     print(' '.join([str(x).ljust(2), str(x * x).ljust(3), str(x * x * x).ljust(4)]))

...

1  1   1

2  4   8

3  9   27

4  16  64

5  25  125

6  36  216

7  49  343

8  64  512

9  81  729

10 100 1000

如果不想使用空格,而改用 0 来补齐呢?可以这样

>>> for x in range(1, 11):

...     print(' '.join([str(x).rjust(2, "0"), str(x*x).rjust(3, "0"), str(x*x*x).rjust(4, "0")]))

...

01 001 0001

02 004 0008

03 009 0027

04 016 0064

05 025 0125

06 036 0216

07 049 0343

08 064 0512

09 081 0729

10 100 1000

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201202A04O7W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券