1. 程式人生 > >python學習篇04 - 列表,元組

python學習篇04 - 列表,元組

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 我是冰