官术网_书友最值得收藏!

2.1.4 列表的方法

“不止這些,Python的列表還有許多有用的方法。聽我慢慢說。”

1)添加新元素,使用append(),例如:


>>> medicine_name=[]        #一個空列表,一個元素也沒有
>>> medicine_name
[]
>>> medicine_name.append('聰明藥丸')    #添加一個元素
>>> medicine_name
['聰明藥丸']
>>> medicine_name.append('力量沖劑')    #再添加一個元素
>>> medicine_name.append('速度膠囊')    #再添加一個元素
>>> medicine_name
['聰明藥丸', '力量沖劑', '速度膠囊']

2)統(tǒng)計元素出現(xiàn)的次數(shù),使用count(),例如:


>>> medicine_name_plus=medicine_name*3    #把medicine_name列表重復(fù)3遍
>>> medicine_name.count('聰明藥丸')    # medicine_name中“聰明藥丸”的個數(shù)
1
>>> medicine_name_plus.count('聰明藥丸')    # medicine_name_plus中“聰明藥丸”的個數(shù)
3

3)擴(kuò)展列表,使用extend(),例如:


>>> medicine1=['聰明藥丸','力量沖劑']
>>> medicine2=['速度膠囊','耐力粉末','減肥藥膏']
>>> medicines=[]
>>> medicines.extend(medicine1)
>>> medicines
['聰明藥丸','力量沖劑']
>>> medicines.extend(medicine2)
>>> medicines
['聰明藥丸','力量沖劑','速度膠囊','耐力粉末','減肥藥膏']

特別提醒注意的是extend()和append()的區(qū)別。我們先來看看下面使用append()會有怎樣的效果:


>>> medicines.append(medicine2)
>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末', '減肥藥膏', ['速度膠囊', '耐力粉末',
    '減肥藥膏']]

對比兩段代碼會發(fā)現(xiàn),前者extend()將列表medicine1和medicine2的所有元素都擴(kuò)展到列表medicines中,而后者append()則將列表medicine2整個作為一個元素添加到medicines中。

4)查找元素下標(biāo),使用index(),例如:


>>> medicines=['聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末', '減肥藥膏']
>>> medicines=medicines*3
>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑',
    '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末',
    '減肥藥膏']
>>> medicines.index('速度膠囊')
2

注意,index()返回的是在列表中最先找到的元素的下標(biāo)。上面故意將medicines的元素重復(fù)3遍,雖然列表里有3個‘速度膠囊’,但是index('速度膠囊')只返回了第一個“速度膠囊”的下標(biāo)——2。

5)插入元素,使用insert(),例如:


>>> medicines.insert(3,'視力口服液')    #在第3個元素后面插入‘視力口服液’
>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '視力口服液', '耐力粉末', '減肥藥膏', '聰明藥丸',
    '力量沖劑', '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑', '速度膠囊',
    '耐力粉末', '減肥藥膏']

6)彈出并返回指定元素,使用pop(),例如:


>>> medicines                #顯示列表medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '視力口服液', '耐力粉末', '減肥藥膏', '聰明藥丸',
    '力量沖劑', '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑', '速度膠囊',
    '耐力粉末', '減肥藥膏']
>>> medicines.pop(5)            #彈出下標(biāo)為5的元素,并返回其值
'減肥藥膏'
>>> medicines                #再次顯示列表,發(fā)現(xiàn)原第5個元素已被彈出
['聰明藥丸', '力量沖劑', '速度膠囊', '視力口服液', '耐力粉末', '聰明藥丸', '力量沖劑',
    '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末',
    '減肥藥膏']

如果不指定彈出的元素下標(biāo),則默認(rèn)彈出末尾元素。例如:


>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '視力口服液', '耐力粉末', '聰明藥丸', '力量沖劑',
    '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末',
    '減肥藥膏']
>>> medicines.pop()
'減肥藥膏'
>>> medicines.pop()
'耐力粉末'
>>> medicines.pop()
'速度膠囊'

7)移除指定元素,使用remove(),例如:


>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '視力口服液', '耐力粉末', '聰明藥丸', '力量沖劑',
    '速度膠囊', '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑']
>>> medicines.remove('視力口服液')
>>> medicines
['聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末', '聰明藥丸', '力量沖劑', '速度膠囊',
    '耐力粉末', '減肥藥膏', '聰明藥丸', '力量沖劑']

8)列表反向,使用reverse(),例如:


>>> medicines=['聰明藥丸', '力量沖劑', '速度膠囊', '耐力粉末']
>>> medicines.reverse()
>>> medicines
['耐力粉末', '速度膠囊', '力量沖劑', '聰明藥丸']

9)列表排序,使用sort(),例如:


>>> numbers=[1,5,8,6,3,4,1,2,5,9,7]
>>> numbers.sort()
>>> numbers
[1, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9]

10)清空列表,使用clear(),例如:


>>> medicines
['耐力粉末', '速度膠囊', '力量沖劑', '聰明藥丸']
>>> medicines.clear()
>>> medicines
[]

11)復(fù)制列表,使用copy(),例如:


>>> medicines1=['耐力粉末', '速度膠囊', '力量沖劑']
>>> medicines2=medicines1.copy()
>>> medicines2
['耐力粉末', '速度膠囊', '力量沖劑']

聽了西西船長的講解,大家對列表這個數(shù)據(jù)類型相當(dāng)有好感,紛紛表示在以后的Python程序中會好好使用列表。而此時,隊醫(yī)格蘭特蕾妮已經(jīng)開始有條不紊地將她的藥品一一添加到medicines列表中。

【練一練】

(1)派森號上目前共有西西船長、工程師克里克里、瞭望員大熊、駕駛員菲菲兔、隊醫(yī)格蘭特蕾妮、機(jī)械師洛克威爾6名船員。請用列表將每個人的名字和職業(yè)組合起來。然后將這些組合一個一個添加到船員列表中。

(2)假設(shè)上題中完成的船員列表為二維列表group,請用戶輸入編號,根據(jù)編號從group中取出相應(yīng)編號船員的職業(yè)和姓名,并分別賦值給字符串變量position和name,該如何編寫代碼?

?

主站蜘蛛池模板: 阿图什市| 彭州市| 阳江市| 日土县| 曲松县| 清新县| 厦门市| 丰镇市| 广元市| 图们市| 西青区| 抚远县| 广南县| 承德市| 项城市| 临江市| 甘泉县| 绥滨县| 望都县| 沂南县| 灵台县| 佛教| 湖口县| 玛曲县| 通化市| 鞍山市| 县级市| 普洱| 郯城县| 东明县| 千阳县| 新和县| 阿鲁科尔沁旗| 小金县| 大英县| 固始县| 嘉荫县| 彰化市| 田东县| 新建县| 芒康县|