Python筆記(二):列表+列表資料處理+函數

來源:互聯網
上載者:User

標籤:while   必須   資料處理   初學   else   order   div   lsp   bsp   

#才疏學淺,難免有不恰當之處,請不吝指正,謝謝。

#適合初學者。

 

    列表的資料自下而上堆放(形成一個堆棧),類似於其他程式設計語言的數組。例如:

user = ["張三","李四","王五"]

    

王五

李四

張三

 

使用[]中括弧位移量訪問列表資料:

print(user[0])        輸出: 張三
print(user[1])        輸出:李四
print(user[2])        輸出:王五

 

(一)列表常用的一些方法:

append() :在列表末尾增加一個資料項目。
user = ["張三","李四","王五"]
user.append("李留")
此時,user = [‘張三‘, ‘李四‘, ‘王五‘, ‘李留‘]
 
extend():在列表末尾增加一個資料項目集合
user = ["張三","李四","王五"]
user.extend(["小明","小麗"])
此時,user = [‘張三‘, ‘李四‘, ‘王五‘, ‘小明‘, ‘小麗‘]
 
pop():刪除列表末尾的資料。
user = ["張三","李四","王五"]
user.pop()
此時,user = [‘張三‘, ‘李四‘]
 
remove():移除一個特定的資料。
user = ["張三","李四","王五"]
user.remove("張三")
此時:user = ["李四","王五"]
 
insert():在指定位置前面增加一個資料項目。
user = ["張三","李四","王五"]
user.insert(0,"張霖")
此時:user = [張霖‘, 張三‘, 李四‘, 王五‘]

 

(二)列表可以存放混合類型的資料,例如存放使用者姓名和出生年份

user = ["張三",189,"李四",188,"王五",187]

(三)列表可以嵌套列表,支援多層嵌套(最多好像是支援100層)

例如:
user = ["張三",189,"李四",188,"王五",187,["張三的年度營收",["工資收入","津貼","來源天上"]]]
 
["張三的年度營收",["工資收入","津貼","來源天上"]] 整個作為列表user的第6項資料。
訪問列表的資料:
       print(user[0])        輸出:張三
       print(user[6])        輸出:["張三的年度營收",["工資收入","津貼","來源天上"]]
       print(user[6][0])     輸出:張三的年度營收
       print(user[6][1][1])  輸出:工資收入

(四)使用for in 迭代處理列表。

user = ["張三","李四","王五",["張三的年度營收",["工資收入","津貼","來源天上"]]]
#python的for迴圈就是用來處理列表和其他迭代結構
#也可以通過while實現,不過for迴圈比較方便
for ue in user:
    print(ue)
輸出:
張三
李四
王五
[‘張三的年度營收‘, [‘工資收入‘, ‘津貼‘, ‘來源天上‘]]

(五)第4步中可以發現程式只列印了最外層的列表資料,[‘張三的年度營收‘, [‘工資收入‘, ‘津貼‘, ‘來源天上‘]]是作為一個列表輸出的,該怎麼把內層列表的資料也列印出來呢?

user = ["張三","李四","王五",["張三的年度營收",["工資收入","津貼","來源天上"]]]
for ue in user:
        #isinstance()是內建函數,此處用來確定資料類型是不是列表
   
if isinstance(ue,list):
        for u in ue:
            print(u)
    else:
        print(ue)

輸出:

張三

李四

王五

張三的年度營收

[‘工資收入‘, ‘津貼‘, ‘來源天上‘]

(六)第五步中可以發現,第三層的列表還是以列表的形式列印,該怎麼處理?再增加一個if迴圈?如果還有更多層呢?為了代碼更簡潔,這時我們可以使用函數來處理。

函數的格式:

def 參數名():
     函數程式碼群組

()括弧裡的參數可選,可以有一個或多個,也可以不設定參數,但是括弧必須有。

通過下面的函數我們就可以處理多層嵌套的列表了。

#建立一個用來處理列表的函數
def print_li(the_list):
    for ue in the_list:
        #判斷資料類型是不是列表
       
if isinstance(ue, list):
            print_li(ue)
        else:
            print(ue)
user = ["張三","李四","王五",["張三的年度營收",["工資收入","津貼","來源天上"]]]
#調用函數
print_li(user)

輸出:

張三

李四

王五

張三的年度營收

工資收入

津貼

來源天上

Python筆記(二):列表+列表資料處理+函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.