# 1.列表的格式 # [數據1,數據2,數據3,···] # 列表 可變數據類型 # 列表可以存儲多個數據,數據之間的逗號以英文逗號分隔 # 列表可以存儲不同類型數據,但一般存儲同一數據類型,這樣便於操作 # list_name = [] # 定義了一個空的列表 # 定義了一個有數據的列表 # 可 ...
# 1.列表的格式 # [數據1,數據2,數據3,···] # 列表 可變數據類型 # 列表可以存儲多個數據,數據之間的逗號以英文逗號分隔 # 列表可以存儲不同類型數據,但一般存儲同一數據類型,這樣便於操作 # list_name = [] # 定義了一個空的列表 # 定義了一個有數據的列表 # 可以去索引和切片 print('1.列表的格式') list_name = ['小明', '小剛', '小芳'] print(list_name[0]) # 小明 print(list_name[0][0]) # 小 print(list_name[1:]) # ['小剛', '小芳']
# 2.列表的常規操作 print() print('2.列表的常規操作') list_data = [] # append 追加(在容器的最後添加一個數據) print('append()') list_data.append('小明') # 因為列表是可變數據類型, # 所以不需要使用一個新的列表進行接收 print(list_data)
# pop() popup縮寫 意思是彈出 # 根據索引從列表中刪除一個數據 # 會返回彈出的數據 # 預設刪除最後一個 相當於pop(-1) # 刪除指定的索引位置 pop(索引) print() print('pop()') list_data = [1, 2, 3, 4, 5, 6, 7] list_data.pop() # 預設刪除最後一個數局 print(list_data) data = list_data.pop(0) # 刪除第一個數據 print(list_data) print(data) # 列印彈出的數據
# sort(key,reverse是否倒置,預設False) 對數據進行排序 # 字元串排序是通過ASCII碼 print() print('sort()') list_data = [2, 3, 1, 5, 8, 7] list_data.sort() # 預設進行從小到大的排序 print(list_data) list_data.sort(reverse=True) # 啟動倒置,從大到小排序 print(list_data)
# reverse() 倒置列表 # sort(reverse=True) 是先排序再倒置 # reverse() 是直接倒置 print() print('reverse()') list_data = [1, 3, 2] list_data.reverse() print(list_data)
# count() 統計裡面的某一相同數據有多少個 # 某一個數據出現的次數 # 這是一個獲取東西的函數 # 不會修改原列表 print() print('count()') list_data = [1, 3, 2, 1, 1, 2] print(list_data.count(1)) # 1出現的次數為3
# index() 查找索引 找到則返回索引,沒找到則報錯 # 如果要查找的數據有多個,則返回最近的數據的索引 # 字元串中查找有find和index # 列表查找只有index print() print('index()') list_data = [1, 3, 2, 1, 1, 2] data = list_data.index(3) # 1 print(data) # data = list_data.index(4) # 4沒在列表,會報錯
# extend(可迭代對象) 補充 延伸 擴大 # 把可迭代對象裡面的數據一個一個的追加到列表中 print() print('extend()') list_data1 = [1, 2, 3] list_data2 = [3, 4, 5] print(list_data1+list_data2) list_data1.extend(list_data2) print(list_data1) # 這兩行+和extend的結果輸出相同 # 但是要知道+只能連接兩個相同類型的數據 list_data3 = '小明' # print(list_data1+list_data3) # +連接不同類型會報錯 list_data1.extend(list_data3) # 字元串數據會被一個一個拆開放入 print(list_data1) # [1, 2, 3, 3, 4, 5, '小', '明']
# remove(數據) 刪除某一個數據 # pop()根據索引刪除 # remove()根據數據刪除 print() print('remove()') list_data = [1, 2, 3, 2, '小明'] list_data.remove(2) # 只能刪掉第一個2 print(list_data) list_data.remove('小明') print(list_data) # list_data.remove(6) # 6不在列表中,會報錯
# insert() 插入數據 # 會把原列表當前輸入索引及之後索引後移一位 print() print('insert()') list_data = [1, 2, 3] list_data.insert(0, '小明') # 在索引為0的位置插入 print(list_data)
# clear() 清空列表中的數據 print() print('clear()') list_data = [1, 2, 3] list_data.clear() # 刪除列表中的全部數據 print(list_data)
# copy() 複製 深複製 淺複製 print() print('copy()') # 深複製 完全複製() # 兩個變數所指向的存儲位置是同一個 list1 = [1, 2, 3] list2 = list1 list2.pop() # 刪除list2的3 print(list2) print(list1) # 但是list1的3也沒有了 # 淺複製 copy() 只複製錶面數據 list1 = [1, 2, 3] list2 = list1.copy() list2.pop() print(list2) print(list1)
# 3.淺說公共方法 print() print('3.淺說公共方法') # len() 獲取容器裡面的長度 print('len') print(len('12345')) # 5 print(len([1, 2, 4])) # 3 # del 刪除變數 print() print('del') list1 = [1, 2, 3] del list1[0] # del(list1[0]) print(list1) # 橙色的是關鍵字參數 紫色的是函數 # 系統函數可以作為變數名稱使用, # 但是作為變數名稱使用後,將沒有原函數的功能
# 4.遍歷列表 print() print('4.遍歷列表') list_data = ['a', 'b', 'c'] for i in list_data: print(i)
# 5.列表的嵌套使用 print() print('5.列表的嵌套使用') list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] list2 = [1, 2, [1, 2, [1, 2]]] # 多層嵌套 print(list1[1][1]) # 取到list1的5
# 6.元組 tuple # 是小括弧() # 是不可變數據類型 # 不能刪除,修改,和增加 print() print('6.元組') tuple_data = (1, 2, 3, 4) print(type(tuple_data)) # 單個數據的元組 tuple_data = (66,) # 單個數據的元組,需要在後面加逗號 print(type(tuple_data)) tuple_data0 = (66) # 如果沒有逗號,則數據類型為沒有括弧時的數據類型 print(type(tuple_data0))
# 今日作業 ''' 1,辦公室里有張三,李四,王五3個人, 現在小宋也到班公室來上班了, 如何用列表來表示?並輸出辦公室有哪些人; 2,過了一會,王五有事離開了辦公室, 程式應該如何表達?並輸出辦公室有哪些人 ''' print() print('今日作業') list_people = ['張三', '李四', '王五'] # 創建列表存儲這三個人 list_people.append('小宋') # 小宋來上班 # list_people.insert(3, '小宋') print(list_people) list_people.remove('王五') # 王五離開 # list_people.pop(2) # 根據索引刪除 print(list_people)