1. 程式人生 > >python學習筆記5(布林值、空值、與列表)

python學習筆記5(布林值、空值、與列表)

布林值、空值、與列表

布林值:一個布林值只有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