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

 更新时间:2020年03月25日 16:43:52   作者:番薯仔  
这篇文章主要介绍了python 6.7 编写一个名为printTable()的函数 表格打印,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

输入:

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

输出:

在这里插入图片描述

因此首先要找到每一个内层列表中最长的字符串长度,因为我们可以对比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实现简单拆分PDF文件的方法

    Python实现简单拆分PDF文件的方法

    这篇文章主要介绍了Python实现简单拆分PDF文件的方法,可实现将一个PDF文件拆分成指定份数的功能,涉及pyPdf模块的使用技巧,需要的朋友可以参考下
    2015-07-07
  • Python设计模式之外观模式实例详解

    Python设计模式之外观模式实例详解

    这篇文章主要介绍了Python设计模式之外观模式,结合实例形式详细分析了外观模式的概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-01-01
  • python如何通过跳板机连接MySQL

    python如何通过跳板机连接MySQL

    这篇文章主要介绍了python如何通过跳板机连接MySQL问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python网络编程学习笔记(三):socket网络服务器

    python网络编程学习笔记(三):socket网络服务器

    服务器和客户端程序很类似,上节学习了客户端程序,这一节将仔细学习一下利用socket建立TCP服务器和UDP服务器
    2014-06-06
  • Python基于TensorFlow接口实现深度学习神经网络回归

    Python基于TensorFlow接口实现深度学习神经网络回归

    这篇文章主要为大家详细介绍了如何基于Python语言中TensorFlow的tf.estimator接口,实现深度学习神经网络回归的具体方法,感兴趣的可以了解一下
    2023-02-02
  • python学习数据结构实例代码

    python学习数据结构实例代码

    数据结构就是用来将数据组织在一起的结构。换句话说,数据结构是用来存储一系列关联数据的东西。在Python中有四种内建的数据结构,分别是List、Tuple、Dictionary以及Set。本文将通过实例来介绍这些数据结构的用法。
    2015-05-05
  • Python帮你微信头像任意添加装饰别再@微信官方了

    Python帮你微信头像任意添加装饰别再@微信官方了

    昨天朋友圈刷爆了@微信官方的梗,从起初的为头像添加国旗,到最后的各种Book思议的需求…而我呢?下面跟随小编一起学习Python帮你微信头像任意添加装饰别再@微信官方了,感兴趣的朋友一起看看吧
    2019-09-09
  • python对文档中元素删除,替换操作

    python对文档中元素删除,替换操作

    这篇文章主要介绍了python对文档中元素删除,替换操作,pthon更换文档中某元素、python改变或者删除txt文档中某一列元素,下文具体代码实现需要的小伙伴可以参考一下
    2022-04-04
  • python+pytest接口自动化之日志管理模块loguru简介

    python+pytest接口自动化之日志管理模块loguru简介

    python中有一个用起来非常简便的第三方日志管理模块--loguru,不仅可以避免logging的繁琐配置,而且可以很简单地避免在logging中多进程多线程记录日志时出现的问题,甚至还可以自定义控制台输出的日志颜色,接下来我们来学习怎么使用loguru模块进行日志管理
    2022-05-05
  • Python基础之矩阵输入的实例

    Python基础之矩阵输入的实例

    这篇文章主要介绍了Python基础之矩阵输入的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论