python 6.7 编写printTable()函数表格打印(完整代码)


Posted in Python onMarch 25, 2020

编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐。假定所有内层列表都包含同样数目的字符串

输入:

tableData = [[‘apple',‘orange',‘cherry',‘banana'],
[‘Alice',‘Bob',‘Cathy',‘David'],
[‘dog',‘cat',‘bird',‘duck']]

输出:

python 6.7 编写printTable()函数表格打印(完整代码)

因此首先要找到每一个内层列表中最长的字符串长度,因为我们可以对比tableData列表和输出的截图。不难发现输出的第一行为内层列表的首项,第二行为每个内层列表的第二项;第一列为第一个内置列表的所有项并且是右对齐(与最长项对齐),因此:

colWidths = [0]*len(tableData)#colWidths列表中每个元素放置每个内置列表的最长字符串长度
len1 = 0
#分别求列表的每一个内置列表中最长的字符串的长度
for i in range(len(tableData)):
 for j in range(len(tableData[i])):
  if len(tableData[i][j]) > colWidths[i]:#找最长
   colWidths[i] = len(tableData[i][j])

其次我们可以看到,打印得到的结果为一个四行三列的表格,因此可以得出函数printTable()中可以有一个两层的嵌套循环,第一层循环长度为4,第二层循环长度为3。而tableData列表共有3个内置列表,每个内置列表共有4项,因此可以以内层列表的长度为第一层循环长度,外层列表的长度为第二层循环的长度。
同时表格的每一列均为右对齐,对齐标准为内层列表的最长项的长度,因此每一次对齐参数可以直接使用colWidths对应的值。

def printTable(List1,List2):
 #第一层循环
 for i in range(len(List1[0])):
  #第二层循环
  for j in range(len(List1)):
   print(List1[j][i].rjust(int(List2[j])),end=' ')
  print()

完整代码

def printTable(List1,List2):
 #第一层循环
 for i in range(len(List1[0])):
  #第二层循环
  for j in range(len(List1)):
   print(List1[j][i].rjust(int(List2[j])),end=' ')#打印完一行再换行
  print()

tableData = [
 ['apples','oranges','cherries','banana'],
 ['Alice','Bod','Carol','David'],
 ['dogs','cats','moose','goose']
    ]
colWidths = [0]*len(tableData)#colWidths列表中每个元素放置每个内置列表的最长字符串长度
len1 = 0
#分别求列表的每一个内置列表中最长的字符串的长度
for i in range(len(tableData)):
 for j in range(len(tableData[i])):
  if len(tableData[i][j]) > colWidths[i]:
   colWidths[i] = len(tableData[i][j])

printTable(tableData,colWidths)

总结

到此这篇关于python 6.7 编写一个名为printTable()的函数 表格打印的文章就介绍到这了,更多相关python printTable()函数 表格打印内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Docker上部署Python的Flask框架的教程
Apr 08 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
Python enumerate函数功能与用法示例
Mar 01 Python
python常用库之NumPy和sklearn入门
Jul 11 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
Python接收手机短信的代码整理
Aug 02 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 Python
python 实现Requests发送带cookies的请求
Feb 08 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
python实现人机五子棋
Mar 25 #Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 #Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 #Python
python自动下载图片的方法示例
Mar 25 #Python
Python短信轰炸的代码
Mar 25 #Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 #Python
基于Python计算圆周率pi代码实例
Mar 25 #Python
You might like
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php生成excel文件的简单方法
2014/02/08 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
javascript 动态添加表格行
2006/06/22 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python入门学习之字符串与比较运算符
2015/10/12 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
幼儿园保育员辞职信
2014/01/12 职场文书
触摸春天教学反思
2014/02/03 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
感谢信怎么写
2015/01/21 职场文书
地道战观后感500字
2015/06/04 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android