python學習篇04 - 列表,元組
阿新 • • 發佈:2018-12-02
1、列表
定義:能裝物件的物件
在python中使用[] 來描述列表,內部元素用逗號隔開,對資料型別沒有要求。
列表存在索引和切片,和字串的操作是一樣的
2、列表相關的增刪改查操作
新增:
1、append() 追加,在後面新增
2、insert(位置,元素),效率相對較低
3、extend( ) 迭代新增,把傳遞進去的引數進行迭代,把每一項新增到表的末尾(如果引數是字串,將會把每個字元當成一個元素迭代新增到列表中)
lst = ['qian','錢','money','doll'] lst.extend('冷暖自知') lst.extend(['力量','盟友']) print(lst) # ['qian', '錢', 'money', 'doll', '冷', '暖', '自', '知', '力量', '盟友']
刪除: 1、pop() 預設從後往前刪除 pop(索引) 根據索引刪除 2、remove(元素) 根據元素刪除 ,當元素不存在時,會報錯 3、del lst[start:end:step] 根據索引或者切片刪除 4、clear() 清空 修改: 1、索引修改 2、ls[索引] = 元素 注:報錯:IndexError: list assignment index out of range 索引下標越界 迭代更新
lst = ['大樹','白雲','小鳥','蝴蝶','蜜蜂'] lst[3:] = '小動物' print(lst) # ['大樹', '白雲', '小鳥', '小', '動', '物']
切片更新
lst = ['大叔','白雲','小鳥','蝴蝶','蜜蜂','蒼鷹'] lst[3:5] = ['星星'] print(lst) # ['大叔', '白雲', '小鳥', '星星', '蒼鷹']
如果步長不為1,元素的個數必須要和切片的個數一致不然會報錯 ValueError: attempt to assign sequence of size 1 to extended slice of size 2
lst = ['大叔','白雲','小鳥','蝴蝶','蜜蜂','蒼鷹'] lst[1:4:2] = ['宇宙','黑洞'] print(lst) # ['大叔', '宇宙', '小鳥', '黑洞', '蜜蜂', '蒼鷹']
查詢:(列表是一個可迭代物件) for 迴圈
lst = ['大叔','白雲','小鳥','蝴蝶','蜜蜂','蒼鷹'] for item in lst: # lst 是 item 中的每一項 print(item)
for i in 123: print(i)
報錯:TypeError: 'int' object is not iterable
3、列表的巢狀 多個列表互相巢狀(降維操作) 4、列表的其他操作 1、count(xxx) 計數 檢視xxx 元素出現的次數 2、 sort() 排序(升序) sort(reserve = True) 倒序 3、reverse() 將列表元素翻轉過來
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] li.reverse() print(li) # ['wenzhou', 'barry', 'ritian', 'WuSir', 'alex']
4、len() 列表長度 檢視列表中元素的個數 檢視list 的其他操作 list 按住ctrl +滑鼠左鍵 5、元組 能裝物件的物件,不可變,一旦確認好,不可更改。 用()表示,只讀列表 注: tu = tuple() #空元組 固定寫法 tu = (1) 不是元組 print(type(tu)) # <class 'int'> tu = (1,) 元組中只有一個元素 #< class 'tuple'> 好習慣:寫元組的時候末尾加個逗號 元組也是可迭代的 ,可以使用for迴圈
tu = ('規格','面積','大小',['正方形','圓形']) tu[3].append('長方形') print(tu) # ('規格', '面積', '大小', ['正方形', '圓形', '長方形']) # 元組沒改,改的是元素內部,沒有改變元組的指向,所以不報錯
6、range 數數 range(n) [0,n) range(m,n) [m,n) range(m,n,p) [m,n) 每隔p取一個
lst = ['你是水','我是冰'] for i in range(len(lst)): print(i , lst[i]) # 0 你是水 # 1 我是冰