標籤: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筆記(二):列表+列表資料處理+函數