Python list添加、刪除、替換元素

Python之list添加新元素

現在,班裏有3名同學:

>>> L = ['Adam', 'Lisa', 'Bart']

今天,班裏轉來一名新同學 Paul,如何把新同學添加到現有的 list 中呢?

第一個辦法是用 list 的 append() 方法,把新同學追加到 list 的末尾:

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']

append()總是把新的元素添加到 list 的尾部。

如果 Paul 同學表示自己總是考滿分,要求添加到第一的位置,怎麼辦?

方法是用list的 insert()方法,它接受兩個參數,第一個參數是索引號,第二個參數是待添加的新元素:

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.insert(0, 'Paul')
>>> print L
['Paul', 'Adam', 'Lisa', 'Bart']

L.insert(0, 'Paul') 的意思是,'Paul'將被添加到索引爲 0 的位置上(也就是第一個),而原來索引爲 0 的Adam同學,以及後面的所有同學,都自動向後移動一位。

假設新來一名學生Paul,Paul 同學的成績比Bart好,但是比Lisa差,他應該排到第三名的位置,用代碼實現是這樣:

L = ['Adam', 'Lisa', 'Bart']
L.insert(2, 'Paul')
print L

Python從list刪除元素

Paul同學剛來幾天又要轉走了,那麼我們怎麼把Paul 從現有的list中刪除呢?

如果Paul同學排在最後一個,我們可以用list的pop()方法刪除:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L.pop()
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']

pop()方法總是刪掉list的最後一個元素,並且它還返回這個元素,所以我們執行 L.pop() 後,會打印出 'Paul'。

如果Paul同學不是排在最後一個怎麼辦?比如Paul同學排在第三:

>>> L = ['Adam', 'Lisa', 'Paul', 'Bart']

要把Paul踢出list,我們就必須先定位Paul的位置。由於Paul的索引是2,因此,用 pop(2)把Paul刪掉:

>>> L.pop(2)
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']

Python中替換元素

假設現在班裏仍然是3名同學:

>>> L = ['Adam', 'Lisa', 'Bart']

現在,Bart同學要轉學走了,碰巧來了一個Paul同學,要更新班級成員名單,我們可以先把Bart刪掉,再把Paul添加進來。

另一個辦法是直接用Paul把Bart給替換掉:

>>> L[2] = 'Paul'
>>> print L
L = ['Adam', 'Lisa', 'Paul']

對list中的某一個索引賦值,就可以直接用新的元素替換掉原來的元素,list包含的元素個數保持不變。

由於Bart還可以用 -1 做索引,因此,下面的代碼也可以完成同樣的替換工作:

>>> L[-1] = 'Paul'

班裏的同學按照分數排名是這樣的:

L = ['Adam', 'Lisa', 'Bart']

但是,在一次考試後,Bart同學意外取得第一,而Adam同學考了倒數第一。

請通過對list的索引賦值,生成新的排名。

L = ['Adam', 'Lisa', 'Bart']
L[0]='Bart'
L[-1]='Adam'
print L

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章