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获取豆瓣电影简介代码分享
Jan 16 Python
urllib2自定义opener详解
Feb 07 Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 Python
Python教程之全局变量用法
Jun 27 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
20行python代码实现人脸识别
May 05 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
python中seaborn包常用图形使用详解
Nov 25 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
Feb 18 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
Python re.sub 反向引用的实现
Jul 07 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 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
python操作CouchDB的方法
2014/10/08 Python
详解Python的单元测试
2015/04/28 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
Django框架实现的分页demo示例
2019/05/25 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
联谊活动策划书
2014/01/26 职场文书