Python學習易錯點 列表

2021-08-09 06:55:01 字數 1193 閱讀 2962

更改乙個列表有許多方法

如 t=[1,2,3,4] temp=t[1:3] 則temp=[2,3] 不包括下標為3的元素

如果切片操作符出現在左側 可以直接更新列表中元素

如t[1:3]=[『a』,』b』] 則t=[1,』a』,』b』,4]

切片操作會新建乙個列表

若定義函式

def

bad_deleted_head

(l):

l=l[1:]

若呼叫該函式

bad_deleted_head(t)

列表並沒有發生變化,即t=[1,2,3,4]

《像計算機科學家一樣思考python》中使用此例並作以解釋:切片操作會新建乙個列表,而複製操作會讓t引用指向這個新的列表,但這些操作對呼叫者沒有影響。在函式的開始t和nums指向同乙個列表。在函式最後nums指向乙個新的列表,但t仍舊沒有改變

書中也給出乙個解決方案 即不修改原列表,返回乙個新列表

def

tail

(l):

return l[1:]

需注意的地方是,在不使用函式,直接呼叫語句t=t[1:],切片成功,t更新為去掉原來首元素的列表

x=t.pop(1) #刪除下標1的元素並返回該元素的值

y=t.pop() #刪除列表尾元素並返回該元素的值

2)使用del 操作符,返回none,該操作符可以對列表切片從而刪除多個元素

del t[1:3] #刪除t列表下標範圍[1,3)的元素

del t[0] #刪除t列表下標為1的元素

3)使用remove(x),需已知被刪除元素的值

t.remove(1) #刪除t中值為1的元素
繼續思考使用函式修改原列表的問題

若定義函式

def

deleted_last(l)

l.pop()

使用函式deleted_last(t),傳入的列表被更改,即t=[1,2,3]

t=[1,2,3]

t=t+[4,5] #更新t=[1,2,3,4,5]

t=t*2 #更新t=[1,2,3,4,5,1,2,3,4,5]

Python易錯點總結

三個單引號 或者雙引號 既可以注釋也可以當作字串。python 中的淺拷貝只拷貝父物件不拷貝子物件,深拷貝父物件子物件全部拷貝。import copy a 1,2,3,4,a b b a c copy.copy a d copy.deepcopy a 5 a 4 c python中的命名方式 參考 ...

Python易錯點總結

1.定義只有乙個元素的元組必須要加逗號,否則只是乙個數.tuple 1,print tuple 2.對於列表和元組,下標值為 1都代表是最後乙個元素的下標,2代表倒數第二個元素的下標,依次類推.print list 1 print tuple 1 3.元組和列表的不同之處在於,元組一經初始化後就不能...

python 易錯點總結

輸入 注意輸入的的資料型別都為字串,輸入的數字也是字串型別,若要進行運算需要轉化為整型或者浮點型1.語法 變數 值 2.交換變數的值 a,b b,a 3.可以賦給變數多個值,以元組形式儲存 a 1,2,3 列印出a的值為 1,2,3 1.按可變不可變分 1.不可變資料型別 數字,字串,元組,傳遞的是...