您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關python 中怎么使用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 中怎么使用printTable()函數表格打印了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。