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 相关文章推荐
python自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
python类的继承实例详解
Mar 30 Python
python中模块查找的原理与方法详解
Aug 11 Python
100行Python代码实现自动抢火车票(附源码)
Jan 11 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
Javascript表达式中连续的 && 和 || 之赋值区别
2010/10/17 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
Python发送email的3种方法
2015/04/28 Python
Python实现简单的代理服务器
2015/07/25 Python
python开发之str.format()用法实例分析
2016/02/22 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
小学生操行评语
2014/04/22 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫