良许Linux教程网 干货合集 通过python实现printTable()的函数表格打印

通过python实现printTable()的函数表格打印

本篇文章为大家讲解一下通过python 6.7 编写一个名为printTable()的函数表格打印具体方法,有需要的小伙伴可以参考一下。

image-20220212212533495

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

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

输出:

教你如何运用python 6.7 编写printTable()函数表格打印教你如何运用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)

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部