教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python怎樣添加、刪除、修改列表元素?

更新時間:2021年07月01日18時27分 來源:傳智教育 瀏覽次數(shù):

傳智教育-一樣的教育,不一樣的品質(zhì)

Python列表是一個可變的序列,它沒有長度的限制,可以包含任意個元素。列表的長度和元素都是可變的,開發(fā)人員可以自由地對列表中的數(shù)據(jù)進行各種操作,包括添加、刪除、修改元素。

Python列表的表現(xiàn)形式類似于其它語言中的數(shù)組,列表中的元素使用“[]”包含,各元素之間使用英文逗號分隔,例如:

>>> list_one = []                          # 創(chuàng)建空列表
>>> list_one
[]
>>> list_two = [1, 10, 55, 20, 6]          # 列表元素的類型均是整型
>>> list_two
[1, 10, 55, 20, 6]
>>> list_thr = [10, 'word', True, [6, 1]]  # 列表中元素的類型不同
>>> list_thr
[10, 'word', True, [6, 1]]

通過list()函數(shù)可以將已有的元組或字符串轉(zhuǎn)換為列表,例如:

>>> words = 'Python'   
>>> list(words)                  # 將字符串轉(zhuǎn)換為列表
['P', 'y', 't', 'h', 'o', 'n']
>>> tuple_demo = (1, 3, 5, 7, 9) 
>>> list(tuple_demo)             # 將元組轉(zhuǎn)換為列表
[1, 3, 5, 7, 9]

使用循環(huán)可以對列表中的元素進行遍歷操作,基本方式如下:

for 循環(huán)變量 in 列表:
    語句塊

例如,對列表['P', 'y', 't', 'h', 'o', 'n']執(zhí)行遍歷操作,具體示例如下:

>>> for char in ['P', 'y', 't', 'h', 'o', 'n']:    # 遍歷列表的元素
...     print(char)
...
P
y
t
h
o
n

列表支持索引和切片操作。例如,修改列表[11,22,33]中的數(shù)據(jù),代碼如下所示:

>>> nums = [11, 22, 33]  
>>> nums[0] = 55          # 將列表中的第0項修改為55
>>> nums
[55, 22, 33]         
>>> nums[0:2] = [0, 1]    # 將列表中的第0項修改為0,第1項修改為1
>>> nums
[0, 1, 33]
>>> list1 = [5, 6]
>>> nums += list1         # nums列表添加list1列表的元素
>>> nums
[0, 1, 33, 5, 6]

以上代碼中先定義了一個列表nums,之后對列表執(zhí)行替換操作,即將列表的第0項數(shù)據(jù)替換為55,將列表中的第0項、第1項數(shù)據(jù)分別替換為[0, 1],因為要替換的數(shù)據(jù)個數(shù)與被替換的數(shù)據(jù)個數(shù)相同,所以列表nums的長度沒有發(fā)生變化。

當(dāng)使用一個列表的元素改變另一個列表的數(shù)據(jù)時,Python并不要求兩個列表的長度相同,但是要遵循“多增少減”的原則,例如:

>>> nums[1:5] = [11, 7]   # nums[1:5]的長度比[11, 7]大
>>> nums
[0, 11, 7]
>>> nums[0:2] = [10, 5, 0] # nums[0:2]的長度比[10, 5, 0]小
>>> nums
[10, 5, 0, 7]

以上代碼的子序列nums[1:5]中包含了4個元素,使用[11,7] 重新對其賦值時只給了兩個元素,此時列表nums的元素減少了2個;同樣,子序列nums[0:2]中包含兩個元素,使用[10, 5, 0]重新對其賦值時給出了3個元素,此時列表nums的元素增加了1個。由此可知,使用一個列表給另一個列表賦值也可以實現(xiàn)列表的增加和刪除操作。

Python為列表類型提供了一些常見操作,具體如表1所示。

表1 列表的常見操作

常見操作 說明
len(s)                                   計算序列s的長度(元素個數(shù))                                                     
min(s) 返回序列s中的最小元素
max(s) 返回序列s中的最大元素
list.append() 在列表list的末尾添加元素x
list.extend() 在列表list中添加列表lx的元素,與+=功能相同
list.insert() 在列表list索引為i的元素之前插入元素x
listpop() 取出并刪除列表list中索引為i的元素x
List.remove() 刪除列表list中第一次出現(xiàn)的元素x
list.reverse() 將列表list的元素反轉(zhuǎn)
list.clear() 刪除列表list中的所有元素
list.copy() 生成新列表,并拷貝列表list中的所有元素
list.sort() 將列表list中的元素排序

列表和數(shù)組的區(qū)別

接觸過其它語言的讀者可能聽說過數(shù)組這個類型,比如C語言,在很多編程語言中都使用數(shù)組存儲一組數(shù)據(jù),而少數(shù)的編程語言采用列表這個類型。數(shù)組與列表非常類似,但是并不完全一樣,它們兩個主要有以下區(qū)別:

(1) 數(shù)組在創(chuàng)建時需要分配大小,數(shù)組的大小是固定的,只能容納有限的元素。列表則沒有預(yù)先分配大小的要求,可以在使用的過程中動態(tài)地插入任意數(shù)量的元素。

(2) 數(shù)組和列表都可以存儲任意類型的元素,但是數(shù)組中要求元素的類型必須是一樣的,要么都是數(shù)字類型,要么都是字符串或其它類型。列表則沒有這個要求,它可以存儲不同整數(shù)、浮點數(shù)、字符串、甚至列表。






猜你喜歡:

如何去除列表中的重復(fù)元素?

python列表你學(xué)會了嗎?

史上最全的python數(shù)組

傳智教育Python+大數(shù)據(jù)開發(fā)培訓(xùn)報名優(yōu)惠2000元

0 分享到:
和我們在線交談!