Python表格打印-創(chuàng)新互聯(lián)

Python編程快速上手實踐項目題目,歡迎指證與優(yōu)化!
編寫一個名為 printTable()的函數(shù), 它接受字符串的列表的列表,將它顯示在組
織良好的表格中, 每列右對齊。假定所有內(nèi)層列表都包含同樣數(shù)目的字符串。例如,
該值可能看起來像這樣:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
你的 printTable()函數(shù)將打印出:
Python 表格打印
思路一:
1.計算列表中(包括內(nèi)部列表)最長元素的長度;
2.以最長元素的長度值作為全局右對齊的值打印列表
代碼:

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元安岳做網(wǎng)站,已為上家服務(wù),為安岳各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
import copy
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob1111111111111', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
def count_width(the_list):
    #定義函數(shù):計算列表字符串最長值
    new_list=copy.deepcopy(the_list)
    #復(fù)制列表保存到獨立的新列表
    colWidths = [0] * len(new_list)
    #創(chuàng)建一個列表,數(shù)目等同于tableData
    i=0
    while i < len(new_list):
        new_list[i].sort(key = lambda i:len(i),reverse = True)
        '''重新按照字符長度逆序(從大到小),lamba表示匿名函數(shù),key = lambda i:len(i)代表
           以元素i的len()值作為比較
        '''
        colWidths[i]=new_list[i][0]
      #  print (colWidths[i])
        i=i+1
    #將tableData[i]降序排序,取大值(第一個),得到一個每個內(nèi)層列表中最長的字符串的列表
    colWidths.sort(key = lambda i:len(i),reverse = True)
    width=len(colWidths[0])
    #將colWidths降序排序,取大值(第一個)并計算其字符寬度
    #print (width)
    #print (the_list)
    #print (new_list)
    return width

def list_rjust(the_list,width):
    for j in range (len(the_list[0])):
        for i in range (len(the_list)):
            print(the_list[i][j].rjust(width),end=" ")
        print("\r")
list_rjust(tableData,count_width(tableData))

思路二:
1.計算列表(數(shù)組,沒有嵌套數(shù)組)最長元素的值;
2.按照列表最長元素的值打印列表(每列的最長值可能不同)
代碼:

tableDate=[['apples', 'oranges', 'cherries', 'banana'],
           ['Alice', 'Bob', 'Carol', 'David'],
           ['dogs', 'cats', 'moose', 'goose']]
def findmaxlen(Dates):
    '''
    計算一個數(shù)組中最長元素的長度
    '''
    maxlen=0
    for i in range(len(Dates)):
        if len(Dates[i])>maxlen:
            maxlen=len(Dates[i])
    return maxlen
#print(findmaxlen(tableDate[0]))

def printTable(the_list):
    for j in range (len(the_list[0])):#打印內(nèi)部數(shù)組的第j個
        for i in range (len(the_list)):#打印數(shù)組的第i個
            print(the_list[i][j].rjust(findmaxlen(the_list[i])),end=' ')
            #打印第i個數(shù)組的第j個內(nèi)部數(shù)組時,按照第i個數(shù)組中的元素最長值右對齊
        print("\r")
printTable(tableDate)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標(biāo)題:Python表格打印-創(chuàng)新互聯(lián)
本文路徑:http://bm7419.com/article38/hcspp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計標(biāo)簽優(yōu)化、虛擬主機關(guān)鍵詞優(yōu)化、云服務(wù)器App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)