列表的相關操作和方法/深淺拷貝
阿新 • • 發佈:2020-11-29
一.列表的相關操作
1. 列表的拼接 (同元組)
lst1 = ["樑新宇","孟凡偉"] lst2 = ["孫介面","王永捐"] res = lst1 + lst2 print(res)
2. 列表的重複 (同元組)
lst1 = ["樑新宇","孟凡偉"] res = lst1 * 3 print(res)
3. 列表的切片 (同元組)
lst = ["曹培顯","歡慶","劉玉波","耿擇時","家營和","黃常見","劉靈鎮","孫翔宇"]
1.[開始索引:] 從開始索引擷取到列表的最後
res = lst[2:] print(res)
2. [:結束索引] 從開頭擷取到結束索引之前(結束索引-1)
res = lst[:7] print(res)
3. [開始索引:結束索引] 從開始索引擷取到結束索引之前(結束索引-1)
res = lst[3:5] print(res)
4. [開始索引:結束索引:間隔值] 從開始索引擷取到結束索引之前按照指定的間隔擷取列表元素值
# 0 3 6 9 12 ... 曹培顯 耿擇時 劉靈鎮 # 從左到右 正向擷取 res = lst[::3] print(res)
# 從右向左 逆向擷取
res = lst[::-1]
print(res)
[:]或[::] 擷取所有列表
5. 列表的修改 ( 可切片 )
# 1.一次修改一個 lst[1] = "菲菲" print(lst) # 2.一次修改多個 等號右邊的資料必須是Iterable(容器型別資料 range物件 迭代器) lst[2:5] = [1,2,3,4,5,6] lst[2:5] = "abc" lst[2:5] = range(100,104) print(lst) # 3.一次修改多個(帶步長) 擷取幾個,修改幾個 # ['曹培顯', 102, 6] lst[::4] = [500,600,700] print(lst)
6. 列表的刪除 ( 可切片 )
lst = ["曹培顯","歡慶","劉玉波","耿擇時","家營和","黃常見","劉靈鎮","孫翔宇"] # 1.一次刪除一個 #del lst[0] # print(lst) # 2.一次刪除多個 # del lst[1:5] # del lst[::5] # print(lst) # 3.注意點 (改寫法刪除的是res變數,不是列表) res = lst[::5] del res print(lst)
二. 列表相關方法
增
# append 向列表的末尾新增新的元素
lst.append("何子豪") print(lst)
# insert 在指定索引之前插入元素
lst = ['李雅琪', '何子豪'] lst.insert(0,"於盛林") print(lst)
# extend 迭代追加所有元素
""" 必須是Iterable這樣的可迭代性資料 """ tup = ("王雨涵","趙瀋陽") lst.extend(tup) print(lst)
刪
# 1.pop 通過指定索引刪除元素,若沒有索引移除最後那個 (推薦)
lst = ['於盛林', '李雅琪', '何子豪', '王雨涵', '趙瀋陽',"王雨涵"] # 預設刪掉最後一個 res = lst.pop() # 可以指定刪除 res = lst.pop(2) print(res) print(lst)
# 2.remove 通過給予的值來刪除,如果多個相同元素,預設刪除第一個
lst = ['於盛林', '李雅琪', '何子豪', '王雨涵', '趙瀋陽',"王雨涵"] lst.remove("王雨涵") print(lst)
# 3.clear 清空列表
lst.clear() print(lst)
其他操作
# index 獲取某個值在列表中的索引
lst = ['於盛林', '李雅琪', '何子豪', '王雨涵', '趙瀋陽',"王雨涵"] res = lst.index("王雨涵")
# count 計算某個元素出現的次數
"""無法像字串中的count那樣寫開始和結束索引.""" lst = ['於盛林', '李雅琪', '何子豪', '王雨涵', '趙瀋陽',"王雨涵"] res = lst.count("王雨涵") print(res)
# sort() 列表排序 (基於原有列表進行修改)
"""預設:從小到大排序""" lst = [1,2,100,-3,-4] lst.sort() """從大到小排序""" lst.sort(reverse=True) print(lst) # 針對於字母 """ascii 編碼進行排序 大小寫字母ascii相差32""" """按照ascii編碼的大小,一位一位的進行比較,預設從小到大""" lst = ["yingmuhuadao","liuchuanfeng","caixukun","caibu","sandingshou"] lst.sort() print(lst) # 針對於中文 (能排序,無規律可循) lst = ["王文","王源"] lst.sort() print(lst)
# reverse 列表反轉操作
lst = ["yingmuhuadao","liuchuanfeng","caixukun","caibu","sandingshou"] lst.reverse() print(lst)