Python 列表的基本操作介紹
1、向List中添加元素的方法
1.1 Python append()方法添加元素
append()
方法用于在列表的末尾追加元素,該方法的語(yǔ)法格式如下:
listname.append(obj)
其中,listname
表示要添加元素的列表;obj
表示到添加到列表末尾的數(shù)據(jù),它可以是單個(gè)元素,也可以是列表、元組等。
1.2 Python extend()方法添加元素
extend() 和 append() 的不同之處在于:extend()
不會(huì)把列表或者元祖視為一個(gè)整體,而是把它們包含的元素逐個(gè)添加到列表中。
extend() 方法的語(yǔ)法格式如下:
listname.extend(obj)
其中,listna
me 指的是要添加元素的列表;obj
表示到添加到列表末尾的數(shù)據(jù),它可以是單個(gè)元素,也可以是列表、元組等。
示例:
l = ['Python', 'C++', 'Java'] # 追加元素 l.extend('C') print(l) # 追加元組,元祖被拆分成多個(gè)元素 t = ('JavaScript', 'C#', 'Go') l.extend(t) print(l) # 追加列表,列表也被拆分成多個(gè)元素 l.extend(['Ruby', 'SQL']) print(l)
運(yùn)行結(jié)果:
['Python', 'C++', 'Java', 'C']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']
1.3 Python insert()方法插入元素
append()
和 extend()
方法只能在列表末尾插入元素,如果希望在列表中間某個(gè)位置插入元素,那么可以使用 insert() 方法。
insert() 的語(yǔ)法格式如下:
listname.insert(index,obj)
其中,index
表示指定位置的索引值。insert()
會(huì)將 obj
插入到 listname
列表第 index
個(gè)元素的位置。 當(dāng)插入列表或者元祖時(shí),insert() 也會(huì)將它們視為一個(gè)整體,作為一個(gè)元素插入到列表中,這一點(diǎn)和 append()
是一樣的。
2、向List中刪除元素的方法
在 Python 列表中刪除元素主要分為以下 3 種場(chǎng)景:
- 根據(jù)目標(biāo)元素所在位置的索引進(jìn)行刪除,可以使用 del 關(guān)鍵字或者
pop()
方法; - 根據(jù)元素本身的值進(jìn)行刪除,可使用列表(
list
類型)提供的remove()
方法; - 將列表中所有元素全部刪除,可使用列表(
list
類型)提供的clear()
方法。
2.1 del:根據(jù)索引值刪除元素
del 可以刪除列表中的單個(gè)元素,格式為:
del listname[index]
其中,listname
表示列表名稱,index
表示元素的索引值。 del
也可以刪除中間一段連續(xù)的元素,
格式為:
del listname[start : end]
2.2 pop():根據(jù)索引值刪除元素
Python pop()
方法用來(lái)刪除列表中指定索引處的元素,
具體格式如下:
listname.pop(index)
其中,listname 表示列表名稱,index 表示索引值。如果不寫(xiě) index
參數(shù),默認(rèn)會(huì)刪除列表中的最后一個(gè)元素,類似于數(shù)據(jù)結(jié)構(gòu)中的“出?!辈僮?。
大部分編程語(yǔ)言都會(huì)提供和 pop()
相對(duì)應(yīng)的方法,就是 push()
,該方法用來(lái)將元素添加到列表的尾部,類似于數(shù)據(jù)結(jié)構(gòu)中的“入?!辈僮?。
但是 Python 是個(gè)例外,Python
并沒(méi)有提供 push()
方法,因?yàn)橥耆梢允褂?append()
來(lái)代替 push()
的功能。
2.3 remove():根據(jù)元素值進(jìn)行刪除
除了 del 關(guān)鍵字,Python
還提供了 remove()
方法,該方法會(huì)根據(jù)元素本身的值來(lái)進(jìn)行刪除操作。
需要注意的是,remove()
方法只會(huì)刪除第一個(gè)和指定值相同的元素,而且必須保證該元素是存在的,否則會(huì)引發(fā) ValueError 錯(cuò)誤。
nums = [40, 36, 89, 2, 36, 100, 7] #第一次刪除36 nums.remove(36) print(nums) #第二次刪除36 nums.remove(36) print(nums) #刪除78 nums.remove(78) print(nums)
運(yùn)行結(jié)果:
[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>
nums.remove(78)
ValueError: list.remove(x): x not in list
最后一次刪除,因?yàn)?78 不存在導(dǎo)致報(bào)錯(cuò),所以我們?cè)谑褂?remove()
刪除元素時(shí)最好提前判斷一下。
2.4 clear():刪除列表所有元素
Python clear()
用來(lái)刪除列表的所有元素,也即清空列表,
請(qǐng)看下面的代碼:
url = list("http://c.biancheng.net/python/") url.clear() print(url)
運(yùn)行結(jié)果:
[]
3、list列表修改元素
3.1 修改單個(gè)元素
修改單個(gè)元素非常簡(jiǎn)單,直接對(duì)元素賦值即可。
請(qǐng)看下面的例子:
nums = [40, 36, 89, 2, 36, 100, 7] nums[2] = -26 #使用正數(shù)索引 nums[-3] = -66.2 #使用負(fù)數(shù)索引 print(nums)
運(yùn)行結(jié)果:
[40, 36, -26, 2, -66.2, 100, 7]
使用索引得到列表元素后,通過(guò)=賦值就改變了元素的值。
3.2 修改一組元素
Python
支持通過(guò)切片語(yǔ)法給一組元素賦值。在進(jìn)行這種操作時(shí),如果不指定步長(zhǎng)(step 參數(shù)),Python
就不要求新賦值的元素個(gè)數(shù)與原來(lái)的元素個(gè)數(shù)相同;這意味,該操作既可以為列表添加元素,也可以為列表刪除元素。
示例:
nums = [40, 36, 89, 2, 36, 100, 7] #修改第 1~4 個(gè)元素的值(不包括第4個(gè)元素) nums[1: 4] = [45.25, -77, -52.5] print(nums)
運(yùn)行結(jié)果:
[40, 45.25, -77, -52.5, 36, 100, 7]
4、list列表查找元素
4.1 index() 方法
index()
方法用來(lái)查找某個(gè)元素在列表中出現(xiàn)的位置(也就是索引),如果該元素不存在,則會(huì)導(dǎo)致 ValueError
錯(cuò)誤,所以在查找之前最好使用 count()
方法判斷一下。
index() 的語(yǔ)法格式為:
listname.index(obj,start,end)
其中,listname
表示列表名稱,obj
表示要查找的元素,start
表示起始位置,end
表示結(jié)束位置。
4.2 count()方法
count()
方法用來(lái)統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù),
基本語(yǔ)法格式為:
listname.count(obj)
其中,listname
代表列表名,obj
表示要統(tǒng)計(jì)的元素。
如果 count()
返回 0,就表示列表中不存在該元素,所以 count()
也可以用來(lái)判斷列表中的某個(gè)元素是否存在。
5、總結(jié)
Python中列表是可修改類型,在程序運(yùn)行過(guò)程中可以對(duì)列表的元素進(jìn)行插入和刪除運(yùn)算。但是元組卻是不可修改類型,要對(duì)其進(jìn)行更改操作可以通過(guò)再構(gòu)造一個(gè)新的元組替換舊的元組,來(lái)實(shí)現(xiàn)元素的插入和刪除。
到此這篇關(guān)于Python 列表的基本操作介紹的文章就介紹到這了,更多相關(guān)Python 列表內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。