python學習筆記5(布林值、空值、與列表)
阿新 • • 發佈:2019-01-01
布林值、空值、與列表
布林值:一個布林值只有True、False兩種值
空值:是Python裡一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊值。
b1 = True
b2 = False
print(b1, b2)
n = None
print(n)
列表:
思考:要儲存100個人的年齡?
解決:使用列表
本質:是一種有序的集合
建立列表
格式:列表名 = [列表選項1, 列表選項2, ……, 列表選項n]
#建立了一個空列表 list1 = [] print(list1) #輸出[] #建立帶有元素的列表 list2 = [18, 19, 20, 21, 22] index = 0 sum = 0 #巢狀最好不要超過3層 while index < 5: sum += list2[index] index += 1 if index == 5: print("平均年齡:%d" % (sum / 5)) #注意:列表中的元素資料可以是不同型別的 list3 = [1, 2, "sunck", "good", True] print(list3) #輸出[1, 2, 'sunck', 'good', True]
列表元素的訪問:
注意不要越界(下標超出了可表示的範圍)
取值格式:列表名[下標]
#替換
list4 = [1,2,3,4,5]
list4[2] = 300
print(list4) #輸出[1, 2, 300, 4, 5]
列表操作
#列表組合 list5 = [1,2,3] list6 = [4,5,6] list7 = list5 + list6 print(list7) #列表的重複 list8 = [1,2,3] print(list8 * 3) #判斷元素是否在列表中 list9 = [1,2,3,4,5] print(3 in list9) print(6 in list9) #列表擷取 list10 = [1,2,3,4,5,6,7,8,9] print(list10[2:6]) print(list10[3:]) print(list10[:5]) #輸出:[1, 2, 3, 4, 5],list[5]不算在內 #二維列表 list11 = [[1,2,3], [4,5,6], [7,8,9]] print(list11[1][1]) #輸出:5
列表方法:
#append 在列表中末尾新增新的元素 list12 = [1,2,3,4,5] list12.append(6) list12.append([7,8,9]) print(list12) #輸出:[1, 2, 3, 4, 5, 6, [7, 8, 9]] #在末尾一次性追加另一個列表中的多個值 list13 = [1,2,3,4,5] list13.extend([6,7,8]) print(list13) #輸出:[1, 2, 3, 4, 5, 6, 7, 8] #在下標處新增一個元素,不覆蓋原資料,原資料向後順延 list14 = [1,2,3,4,5] list14.insert(2, 100) list14.insert(2, [200,300]) print(list14) #輸出:[1, 2, [200, 300], 100, 3, 4, 5] #pop(x=list[-1]) #移除列表中指定下標處的元素(預設移除最後一個元素),並返回刪除的資料 list15 = [1,2,3,4,5] list15.pop() list15.pop(2) print(list15.pop(1)) #輸出:2 print(list15) #輸出:[1, 4] #remove 移除列表中的某個元素第一個匹配的結果 list16 = [1,2,3,4,5,4,5,4] list16.remove(4) print(list16) #輸出:[1, 2, 3, 5, 4, 5, 4] #清除列表中所有的資料 list17 = [1,2,3,4,5] list17.clear() print(list17) #輸出:[] #從列表中找出某個值第一個匹配的索引值 list18 = [1,2,3,4,5, 3,4,5,6] index18 = list18.index(3) #圈定範圍 index19 = list18.index(3, 3, 7) print(index18, index19) #輸出:2 5 #列表中元素個數 list20 = [1,2,3,4,5] print(len(list20)) #輸出:5 #獲取列表中的最大值 list21 = [1,2,3,4,5] print(max(list21)) #輸出:5 #獲取列表中的最小值 list22 = [1,2,3,4,5] print(min(list22)) #輸出:1 #檢視元素在列表中出現的次數 list23 = [1,2,3,4,5,3,4,5,3,3,5,6] print(list23.count(3)) #輸出:4 #刪除list23中所有的3 num24 = 0 all = list23.count(3) while num24 < all: list23.remove(3) num24 += 1 print(list23) #輸出:[1, 2, 4, 5, 4, 5, 5, 6] #倒敘 list25 = [1,2,3,4,5] list25.reverse() print(list25) #輸出:[5, 4, 3, 2, 1] #排序 升序 list26 = [2,1,3,5,4] list26.sort() print(list26) #輸出:[1, 2, 3, 4, 5] #將元組轉成列表 list31 = list((1,2,3,4)) print(list31) #輸出:[1, 2, 3, 4]
淺拷貝與深拷貝:
#拷貝
#淺拷貝 引用拷貝,大家一起變,地址相同
list27 = [1,2,3,4,5]
list28 = list27
list28[1] = 200
print(list28) #輸出:[1, 200, 3, 4, 5]
print(list27) #輸出:[1, 200, 3, 4, 5]
print(id(list28)) #輸出:1975432153288
print(id(list27)) #輸出:1975432153288
#深拷貝 記憶體的拷貝,記憶體地址不同
list29 = [1,2,3,4,5]
list30 = list29.copy()
list30[1] = 200
print(list29) #輸出:[1, 2, 3, 4, 5]
print(list30) #輸出:[1, 200, 3, 4, 5]
print(id(list29)) #輸出:1975432153352
print(id(list30)) #輸出:1975432153416