|
|
|
|
公众号矩阵

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

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

作者:写代码的明哥来源:Python编程时光|2020-11-20 14:16

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

第一种:使用 format

先来看几个小 demo

左对齐

  1. >>> "{:<10}".format("a"
  2. 'a         ' 
  3. >>>  

右对齐

  1. >>> "{:>10}".format("a"
  2. '         a' 
  3. >>>  

居中

  1. >>> "{:^10}".format("a"
  2. '    a     ' 
  3. >>>  

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

  1. >>> "{:10}".format("a"
  2. 'a         ' 
  3. >>>  

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

  1. >>> for x in range(1, 11): 
  2. ...        print('{:2d} {:3d} {:4d}'.format(x, x*x, x*x*x)) 
  3. ... 
  4.  1   1    1 
  5.  2   4    8 
  6.  3   9   27 
  7.  4  16   64 
  8.  5  25  125 
  9.  6  36  216 
  10.  7  49  343 
  11.  8  64  512 
  12.  9  81  729 
  13. 10 100 1000 

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

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

  1. >>> for x in range(1, 11): 
  2. ...     print('{:02d} {:03d} {:04d}'.format(x, x*x, x*x*x)) 
  3. ...  
  4. 01 001 0001 
  5. 02 004 0008 
  6. 03 009 0027 
  7. 04 016 0064 
  8. 05 025 0125 
  9. 06 036 0216 
  10. 07 049 0343 
  11. 08 064 0512 
  12. 09 081 0729 
  13. 10 100 1000 

第二种:使用 ljust, rjust左对齐

  1. >>> "a".ljust(10) 
  2. 'a         ' 
  3. >>>  

右对齐

  1. >>> "a".rjust(10) 
  2. '         a' 
  3. >>>  

居中

  1. >>> "a".center(10) 
  2. '    a     ' 
  3. >>>  

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

  1. >>> for x in range(1, 11): 
  2. ...     print(' '.join([str(x).ljust(2), str(x * x).ljust(3), str(x * x * x).ljust(4)])) 
  3. ...  
  4. 1  1   1    
  5. 2  4   8    
  6. 3  9   27   
  7. 4  16  64   
  8. 5  25  125  
  9. 6  36  216  
  10. 7  49  343  
  11. 8  64  512  
  12. 9  81  729  
  13. 10 100 1000 

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

  1. >>> for x in range(1, 11): 
  2. ...     print(' '.join([str(x).rjust(2, "0"), str(x*x).rjust(3, "0"), str(x*x*x).rjust(4, "0")])) 
  3. ...  
  4. 01 001 0001 
  5. 02 004 0008 
  6. 03 009 0027 
  7. 04 016 0064 
  8. 05 025 0125 
  9. 06 036 0216 
  10. 07 049 0343 
  11. 08 064 0512 
  12. 09 081 0729 
  13. 10 100 1000 

以上就是今天的分享,很多漂亮的表格打印模块都是基于以上内置函数实现的,掌握了这两个,以后都可以自己实现啦~~希望本文对你能有帮助

文末福利

明哥整理了 21 张 Python 代码速查表,每一张都是国外的大师总结的,非常实用 ~

还有 2 张高清的 PyCharm 快捷键一览图,一张 Windows ,一张 Mac,放在桌面上,需要的时候打开一查,非常方便。。

【编辑推荐】

  1. 代码不止|一篇看懂 TensorFlow 如何助力高效开发
  2. 使用Antd表格组件实现日程表
  3. 鲲鹏凌云 智耀长安 | 陕西鲲鹏生态创新中心喊企业开发者“上课啦”!
  4. 谷歌概述了2021年的Android应用开发与政策变动规划
  5. GitHub CEO霸气回应:「千年数字版权法」不适用,把youtube-dl还给开发者!
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

28人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

193人订阅学习

搭建数据中心实验Lab

搭建数据中心实验Lab

实验平台Datacenter
共5章 | ITGO(老曾)

119人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微