004-python-列表、元組、字典
1. 什麼是列表
列表是一個可變的資料型別
列表由[]來表示, 每一項元素使用逗號隔開. 列表什麼都能裝. 能裝物件的物件.
列表可以裝大量的資料
2. 列表的索引和切片
列表和字串一樣. 也有索引和切片. 只不過切出來的內容是列表
索引的下標從0開始
[起始位置:結束位置:步長]
lst = ["行動硬碟", "手機", 110, True, False, ["人民幣", "美金", '歐元']] lst = ["海上鋼琴師", "奧特曼", "咒怨", "舌尖上的中國", "穹頂之下", "金剛"] print(lst[3][2]) # 上 print(lst[-2])# 穹頂之下 print(lst[1:4])# ['奧特曼', '咒怨', '舌尖上的中國'] print(lst[-3:-1]) # 顧頭不顧尾 print(lst[1::2]) print(lst[-1:-5:-2])
3. 列表的增刪改查*
1. 增加
append() 追加
insert(index, 元素) 在index位置新增元素
extend() 迭代新增
2. 刪除
pop(index) 按照位置刪除元素
remove(元素) 直接刪除元素
del 切片.
clear() 清空列表
3. 修改
索引修改
切片修改
4. 查詢
for el in list:
el
lst = ["趙四", "施瓦星格", "黃渤", "郭達森", "賽利亞"] # 在屁股後面新增 lst.append("黃巨集") # 在原有的基礎上進行的操作 # 在xxx位置插入xxxx內容 lst.insert(1,"王力巨集") lst.extend(["麻花藤", "馬雲", "王健林", "許家印"]) # 迭代新增 print(lst) # 刪除 data = lst.pop(2) # 返回被刪除的資料 print(data) print(lst) lst.remove("趙四") # 刪除元素. lst.remove("劉能") # 如果不存在會報錯 # 切片刪除 del lst[1:3] # 清空 lst.clear() print(lst) lst = ["王者農藥", "魔獸世界", "DNF", "逆水寒", "反恐精英"] lst[0] = "掃雷" print(lst) lst[3] = "吃雞" lst[1:3] = ["跑跑卡丁車"]# 先刪除後新增 lst[1::2] = ["QQ華夏","QQ三國"] # 切片修改的時候. 如果步長不是1. 注意元素的個數 print(lst) lst = ["鍋包肉", "好人家火鍋", "巫山烤魚", "清水煮白菜", "烤鴨"] for el in lst: # element(元素) print(el)
5. 常用操作
1. sort() 排序 reverse=True降序
2. reverse() 翻轉
3. len() 求長度
4. 列表的巢狀
降維. 一層一層看
lst = ["alex", "gay","wusir",["范冰冰","李冰冰",[1, "火鍋", "ritian", "鳳爪"],"王冰冰"]] print(lst[3][2][1]) # 火鍋 lst[3][2][2] = lst[3][2][2].upper() print(lst) lst[3][2][0] = lst[3][2][0] + 99 print(lst) lst = [1,5,3,4,3,2,44,3,2,22] lst.sort(reverse=True) # 排序. 預設升序, reverse=True 降序 print(lst) lst = ['曉雪',"小茹", "小花","曉梅"] lst.reverse() # 翻轉 print(lst) print(len(lst))
5. 元組
只讀列表. 只能看啥也不能幹.
使用()表示元組
如果元祖中只有一個元素(元素, )
空元組: tuple()
元祖是一個可迭代物件, 可以使用for迴圈
print((1+3)*5) print((3)) tu = (3, ) # 元組中如果只有一個元素. 需要在括號裡寫一個, tu = tuple() # 空元組 print(type(tu)) tu = ("人民幣", "美元", "英鎊", "歐元") tu.append("哈哈") tu[0] = "日元" # 不予許修改 del tu[2] # 刪除也不行 print(tu[2]) # 索引可以用 print(tu[::2]) for el in tu: print(el) # 元組的第一層是不能進行賦值的. 內部元素是沒有要求 tu = (1, "哈嘍", "how are you?", "alex", ["alex"]) tu[3].upper() print(tu)
6. range
range(n) 從0到n-1
range(m,n) 從m到n-1
range(m,n,q) 從m到n-1 每q個取1個
綜上就是切片
# range()是一個可迭代物件 1. range(n)0 -> n-1 for i in range(10): print(i) # 2. range(m,n) m -> n-1 for i in range(1,10): print(i) # 3. range(m,n,q) m -> n-1 每q個取一個 for i in range(1,10,3): print(i) for i in range(100, 90, -1): print(i) #012345 lst = ["砂鍋", "饅頭", "蓋澆飯", "刀削麵", "大麻花", "大煎餅"] # 獲取到列表的索引. 拿到索引之後. 可以拿到元素 for i in range(len(lst)): print(i)# i就是lst的索引 print(lst[i]) for el in lst: print(el)
7. 使用range和for迴圈來獲取列表中的索引
for i in range(len(列表)):
i 索引
列表[i] 元素