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图像处理之反色实现方法
May 30 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
利用Python如何生成hash值示例详解
Dec 20 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
Python爬取365好书中小说代码实例
Feb 28 Python
Python reduce函数作用及实例解析
May 08 Python
手把手教你配置JupyterLab 环境的实现
Feb 02 Python
Python中requests做接口测试的方法
May 30 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 Python
Django框架之路由用法
Jun 10 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实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
1亿有多大教学反思
2014/05/01 职场文书
工作推荐信模板
2015/03/25 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android