day 4 - 1 列表
阿新 • • 發佈:2018-11-09
1.列表的增刪改查
1) append insert extend
li = ["ysg",[1,2,3,4,5],"peipei","夢幻","利金斯"]
#append 在末尾增加 li.append('陰天') li.append("666") li.append("[12,13,14]") print(li)
小示例:迴圈向列表中新增資料,輸入 "Q|q" 結束 li = [] while 1: username = input(">>>") if username.strip().upper() == 'Q': break else: li.append(username)print(li) # insert 插入 li=["abc","efg"] li.insert(1,"d") print(li) #extend 迭代插人到最後 # 'int' object is not iterable li=["abc","efg"] li.extend("亦雙弓") print(li) li.extend([1,2,3]) print(li) li.extend(123) print(li)
2)刪除 pop remove clear del
li = ["ysg",[1,2,3,4,5],"peipei","夢幻","利金斯"] name = li.pop(1) print(name,li) #有返回值 print(li) name = li.pop() #預設刪除最後一個值 print(name,li)
li.remove([1,2,3,4,5]) #按元素刪除,沒有返回值 print(li)
li.clear() #清空列表 print(li)
del li # 刪除列表 print(li) del li[3:] #del 結合切片刪除 print(li)
3)改
li = ["ysg",[1,2,3,4,5],"peipei","夢幻","利金斯"] li[1] = "and" li[1] = [1,2,3] print(li) #切片 當新增的值小於切片的範圍時,只新增已有的值 #即:新增的原理是 先刪除後新增 li[0:3] = "ysg" print (li) li[0:3] = "hw" print (li) #如果新增的值大於切片的範圍時,大於的值在切片範圍後繼續新增 li[0:3] = [1,2,3,"abc","efg"] print(li)
4)查 for迴圈 切片
li = ["ysg",[1,2,3],"peipei","黎幻鎮","利金斯"] for i in li: print(i) print(li[0:3])
2.公共方法
li = ["ysg",[1,2,3],"ysg","peipei","黎幻鎮","利金斯"] l = len(li) #陣列長度 print(l) print(li.count('ysg')) #統計出現次數 print (li.index("peipei")) #索引出現位置,預設第一次出現的位置
3.排序
li = [1,5,3,8,7,9,2,3] li.sort() #sort 排序是最快的 因為使用 C 語言的寫的 print(li) li.sort(reverse=True) #倒序 print(li) li.reverse() #反轉 print(li)
4.列表的巢狀
#1)找到 夢幻 中的幻字 print(li[4][1]) # 2)把 利金斯 中的 金斯 改為 益 li[5]="利益" print(li) li[5]=li[5].replace("金斯","益") print(li) # 3)把 peipei 首字母大寫 li[3]=li[3].capitalize() print(li[3],li)
5.元組
#只讀列表,可迴圈查詢 可切片 #兒子不能改 孫子可能可以改 yu=(12,3,'ysg',[1,23,'ysg']) print(yu[2]) print(yu[3]) for i in yu: print(i) #修改 元祖中的陣列 yu[3][1]=2 print(yu) #修改 元祖中的陣列 yu[3][2]=yu[3][2].upper() print(yu) #在元祖中的陣列新增值 yu[3].append("end") print(yu)
7.join 列表轉換為字串
#字串轉換為列表 split #注意:使用 join 時,列表中不能再存在列表 li = ["ysg","ysg","peipei","黎幻鎮","利金斯"] print(li) j = "_".join(li) print(j)
8. range 生成數字列表,顧頭不顧尾
for i in range(0,10): print(i) for i in range(3,10): print(i) for i in range(10): print(i) for i in range(0,10,2): print(i) for i in range(10,0,-1): print(i) for i in range(10,0,-2): print(i) for i in range(0,10,-1): #什麼都不輸出 print(i) for i in range(10,-10,-2): print(i) for i in range(10,-2): #什麼都不輸出 print(i) for i in range(-2,10): # -2 為開頭 print(i)