- Python從入門到項(xiàng)目實(shí)踐(超值版)
- 聚慕課教育研發(fā)中心
- 1417字
- 2020-01-20 14:50:14
4.3 列表
列表是元素按順序排列構(gòu)成的有序的集合,其中的每個(gè)元素都有各自的位置編號,方便索引操作。列表非常好的優(yōu)勢是,里面的元素可以是各種類型共存的,可以是數(shù)字、字符串甚至還可以是列表、元組、字典等。列表中的元素是可以被修改的。
4.3.1 直接創(chuàng)建列表

可以用方括號直接創(chuàng)建元組,括號里的元素用逗號隔開。當(dāng)[ ]內(nèi)不存在任何元素時(shí),便創(chuàng)建了一個(gè)空列表。
【例4-5】用方括號創(chuàng)建列表。

程序運(yùn)行結(jié)果如圖4-6所示。

圖4-6 創(chuàng)建列表運(yùn)行程序
4.3.2 用list()函數(shù)創(chuàng)建列表

其實(shí),list()函數(shù)實(shí)質(zhì)是把目標(biāo)對象轉(zhuǎn)為列表的類型。同直接創(chuàng)建列表的方式很像,這里是在list()函數(shù)后面用圓括號將目標(biāo)對象轉(zhuǎn)為列表類型。可以在list的圓括號中放入建立列表需要的元素,這些元素放入時(shí)必須是一個(gè)元組對象或者是一個(gè)列表對象,不可以直接將元素列進(jìn)list()函數(shù)中的括號里,也可以將某一變量放進(jìn)去,list()函數(shù)會(huì)幫助我們自動(dòng)將元素轉(zhuǎn)為列表的形式。同樣,如果沒有傳入任何元素,將創(chuàng)建一個(gè)空的列表。
【例4-6】用list()函數(shù)創(chuàng)建列表。

程序運(yùn)行結(jié)果如圖4-7所示。

圖4-7 創(chuàng)建列表運(yùn)行程序
4.3.3 列表元素提取

列表中的元素都是有位置的,因此常用的元素提取方法有索引提取和列表切片操作提取。每一次通過位置進(jìn)行索引訪問都能得到列表中唯一對應(yīng)的元素,使用切片操作則會(huì)得到一段包含對應(yīng)元素的列表。
(1)索引提取元素:利用序列的索引進(jìn)行元素提取的方法。通過元素的位置,提取元素,在列表對象后面使用方括號包含索引數(shù)。例如,list[0],list[1],list[2],…注意不能超過列表總長度。
如果想要從列表尾部快速索引元素,則可以使用負(fù)數(shù),例如:list[-1],list[-2],list[-3],…
【例4-7】索引提取元素。

程序運(yùn)行結(jié)果如圖4-8所示。

圖4-8 索引提取元素運(yùn)行程序
(2)切片提取元素:使用切片提取列表的某段元素時(shí),無須考慮超出索引范圍的問題。需要注意的是,列表的切片是一個(gè)元組類型。
【例4-8】切片提取元素。

程序運(yùn)行結(jié)果如圖4-9所示。

圖4-9 切片提取元素運(yùn)行程序
(3)列表反轉(zhuǎn):使用切片時(shí),list[::-1]這個(gè)操作可以得到list列表的反轉(zhuǎn)列表。
【例4-9】列表反轉(zhuǎn)。

程序運(yùn)行結(jié)果如圖4-10所示。

圖4-10 列表反轉(zhuǎn)運(yùn)行程序
4.3.4 操作列表的常用函數(shù)

列表在Python中是可變的數(shù)據(jù)結(jié)構(gòu),因此Python提供很多方便的函數(shù)幫助用戶對列表的元素進(jìn)行操作,常見的操作有元素的增刪改查等。
1. 增添元素
append()函數(shù)將在列表尾部傳入一個(gè)元素:list.append(1)。
extend()函數(shù)可以將列表1和列表2拼接在一起:list1.extend(list2)。
insert()函數(shù)可以在列表中的指定位置插入一個(gè)元素:list.insert(位置,元素)。
注意:使用append()和insert()時(shí),一次只能添加一個(gè)元素;使用extend()時(shí)是將列表拼接在另一個(gè)列表尾部。
【例4-10】添加元素。

程序運(yùn)行結(jié)果如圖4-11所示。

圖4-11 添加元素運(yùn)行程序
2. 刪除元素
del()函數(shù)將列表中提取出的元素刪除(用索引提取):del list[0]。
pop()函數(shù)根據(jù)索引獲取該元素并刪除:list.pop(0)。
remove()函數(shù)將指定元素刪除:list.remove(1)。
注意:使用pop()函數(shù)時(shí),若不指定元素位置,將默認(rèn)使用索引-1;remove()刪除指定元素時(shí),只會(huì)將第一次出現(xiàn)的該元素刪除。
【例4-11】刪除元素。

程序運(yùn)行結(jié)果如圖4-12所示。

圖4-12 刪除元素運(yùn)行程序
3. 修改元素
根據(jù)列表元素可變的特性,可以直接提取元素并進(jìn)行重新賦值,從而完成修改元素的操作。提取元素根據(jù)元素地址索引進(jìn)行。
4. copy方法
有時(shí)需要在保存原來的列表數(shù)據(jù)的同時(shí)對這個(gè)列表進(jìn)行變更操作,此時(shí)會(huì)用到copy方法。copy方法能夠創(chuàng)建一個(gè)完全一樣的列表,雖然意思上是一樣的列表,但只是元素一樣,copy后的一個(gè)列表已經(jīng)是一個(gè)新的列表。
【例4-12】copy方法。

程序運(yùn)行結(jié)果如圖4-13所示。

圖4-13 copy方法運(yùn)行程序
5. index查詢
index能夠幫助我們快速查找某元素在該列表中的位置。
【例4-13】index查詢。

程序運(yùn)行結(jié)果如圖4-14所示。

圖4-14 index查詢運(yùn)行程序
- MySQL數(shù)據(jù)庫應(yīng)用與管理 第2版
- Instant Apache Stanbol
- C#完全自學(xué)教程
- C++面向?qū)ο蟪绦蛟O(shè)計(jì)(微課版)
- 我的第一本算法書
- 零基礎(chǔ)入門學(xué)習(xí)Python
- Visual C++開發(fā)入行真功夫
- HTML5+CSS3 Web前端開發(fā)技術(shù)(第2版)
- 西門子S7-200 SMART PLC編程從入門到實(shí)踐
- Python圖形化編程(微課版)
- Java程序員面試筆試寶典(第2版)
- Hands-On Kubernetes on Windows
- Web App Testing Using Knockout.JS
- RocketMQ實(shí)戰(zhàn)與原理解析
- Google Adsense優(yōu)化實(shí)戰(zhàn)