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实现dict版图遍历示例
Feb 19 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
在Python中使用next()方法操作文件的教程
May 24 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
python+opencv实现阈值分割
Dec 26 Python
详解python多线程之间的同步(一)
Apr 03 Python
Python 的AES加密与解密实现
Jul 09 Python
基于python实现查询ip地址来源
Jun 02 Python
python 实现的截屏工具
May 08 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实现维护文件代码
2007/06/14 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
Flask数据库迁移简单介绍
2017/10/24 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
开办化妆品公司创业计划书
2013/12/26 职场文书
经典公益广告词
2014/03/13 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
新闻编辑求职信
2014/07/13 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
2015年加油站工作总结
2015/05/13 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript