1豪治、列表的定義
列表是由一系列按特定順序排列的元素組成洞拨,可包含字母、數(shù)字等等负拟,其中元素之間沒(méi)有任何關(guān)系烦衣。
在python中,用方括號(hào)[ ]來(lái)表示列表,并用逗號(hào)來(lái)分隔其中的元素花吟,如下所示:
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles)
輸出結(jié)果:
['trek', 'cannodale', 'redline', 'specialized']
(1)訪問(wèn)列表元素
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles[0])
輸出結(jié)果:
trek
又如:
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles[0].title())
輸出結(jié)果:
Trek
(2)索引從0而不是1開(kāi)始
在python中启泣,第一個(gè)元素的索引為0,而不是1示辈,如下所示:
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles[1])
print(bicycles[3])
輸出結(jié)果:
cannodale
specialized
python為訪問(wèn)最后一個(gè)列表元素提供了一種特殊語(yǔ)法,通過(guò)將索引指定為-1遣蚀,可以讓python返回最后一個(gè)列表元素:
bicycles = ['trek','cannodale','redline','specialized']
print(bicycles[-1])
print(bicycles[-3])
輸出結(jié)果:
specialized
cannodale
(3)使用列表中的各個(gè)值
可像使用其他變量一樣使用列表中的各個(gè)值矾麻,如:
bicycles = ['trek','cannodale','redline','specialized']
message = "My first bicycle was a " +" " + bicycles[0].title() + "."
print(message)
輸出結(jié)果:
My first bicycle was a Trek.
2、修改芭梯、添加和刪除元素
(1)修改列表元素
修改列表元素的語(yǔ)法與訪問(wèn)列表元素的語(yǔ)法類似险耀。要修改列表元素,可指定列表名和要修改的元素的索引玖喘,再指定該元素的新值甩牺。
如:
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles )
輸出結(jié)果:
['honda', 'yamaha', 'suzuki']
motorcycles[0] = 'ducati'
print(motorcycles )
輸出結(jié)果:
['ducati', 'yamaha', 'suzuki']
(2)在列表中添加元素
1)在列表末尾添加元素
motorcycles = ['honda','yamaha','suzuki']
motorcycles.append('ducati')
print(motorcycles )
輸出結(jié)果:
['honda', 'yamaha', 'suzuki', 'ducati']
2)在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素,為此累奈,需要指定新元素的索引和值:
motorcycles = ['honda','yamaha','suzuki']
motorcycles.insert(0,'ducati')
print(motorcycles)
輸出結(jié)果:
['ducati', 'honda', 'yamaha', 'suzuki']
(3)從列表中刪除元素
1)使用del語(yǔ)句刪除元素
如果知道要?jiǎng)h除的元素在列表中的位置贬派,可以使用del語(yǔ)句,刪除之后澎媒,就無(wú)法再訪問(wèn)刪除的值:
motorcycles = ['honda','yamaha','suzuki']
del motorcycles[0]
print(motorcycles)
輸出結(jié)果:
['yamaha', 'suzuki']
2)使用方法pop()刪除元素
有時(shí)候搞乏,需要將元素從列表中刪除,并接著使用他的值戒努。方法pop()可以刪除列表末尾的元素请敦,并讓你能夠接著使用它。術(shù)語(yǔ)彈出(pop)源自這樣的類比:列表就像一個(gè)棧储玫,而刪除列表末尾的元素相當(dāng)于彈出棧頂元素侍筛。
motorcycles = ['honda','yamaha','suzuki']
popped_motorcycle = motorcycles.pop()
print(motorcycles )
print(popped_motorcycle)
輸出結(jié)果:
['honda', 'yamaha']
suzuki
3)彈出列表中任何位置處的元素
實(shí)際上,你可以使用pop()來(lái)刪除列表中任何位置的元素撒穷,只需要再括號(hào)中指定要?jiǎng)h除的元素的索引即可:
motorcycles = ['honda','yamaha','suzuki']
second_owned = motorcycles.pop(1)
print('The second motorcycle I owned was a ' + second_owned.title() + '.')
print(motorcycles )
輸出結(jié)果:
The second motorcycle I owned was a Yamaha.
['honda', 'suzuki']
綜上所訴匣椰,如果不確定使用del語(yǔ)句還是pop()方法,下面是一個(gè)簡(jiǎn)單的判斷標(biāo)準(zhǔn):如果你要從列表中刪除一個(gè)元素桥滨,且不再以任何方式使用它窝爪,就使用del語(yǔ)句;如果你要在刪除元素后還能繼續(xù)使用它齐媒,就是用pop()蒲每。
4)根據(jù)值刪除元素
有時(shí)候荤崇,并不知道要從列表中刪除的值所在的位置寸癌,如果只知道要?jiǎng)h除的元素的值仔涩,可以使用方法remove()
motorcycles = ['honda','yamaha','suzuki','ducati']
motorcycles.remove('ducati')
print(motorcycles)
輸出結(jié)果:
['honda', 'yamaha', 'suzuki']
使用remove()從列表中刪除元素時(shí)读宙,也可以接著使用它的值:
motorcycles = ['honda','yamaha','suzuki','ducati']
a = 'ducati'
motorcycles.remove(a)
print(motorcycles)
print("\nA " + a.title() + " is too expensive for me.")
輸出結(jié)果:
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.
注:方法remove()只刪除第一個(gè)指定的值奔垦。如果要?jiǎng)h除的值可能在列表中出現(xiàn)多次,就需要使用循環(huán)來(lái)判斷是否刪除了所有這樣的值棍厂。
3棕孙、組織列表
(1)使用方法sort()對(duì)列表進(jìn)行永久性排序
cars = ['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
輸出結(jié)果:
['audi', 'bmw', 'subaru', 'toyota']
上述sort()方法,使列表元素按字母順序排列脖律,再也無(wú)法回復(fù)到原來(lái)的排列順序谢肾。
還可以按與字母順序相反的順序排列列表元素,為此小泉,只需向sort()方法傳遞參數(shù)reverse=True:
cars = ['bmw','audi','toyota','subaru']
cars.sort(reverse=True)
print(cars)
輸出結(jié)果:
['toyota', 'subaru', 'bmw', 'audi']
同樣芦疏,這種方法對(duì)列表元素排列順序的修改也是永久性的。
(2)使用函數(shù)sorted()對(duì)列表進(jìn)行臨時(shí)排序
要保留列表元素原來(lái)的排列順序微姊,同時(shí)以特定的順序呈現(xiàn)他們酸茴,可以使用函數(shù)sorted():
如果要按照字母順序相反的順序顯示列表,也可以向函數(shù)sorted()傳遞參數(shù)reverse=True兢交。
(3)倒著打印列表
要反轉(zhuǎn)列表元素的排列順序薪捍,可以使用方法reverse(),例如:
方法reverse()永久性地修改列表元素的排列順序配喳,但可以隨時(shí)恢復(fù)到原來(lái)的排列順序酪穿,為此,只需對(duì)列表再次調(diào)用reverse()即可晴裹。
(4)確定列表的長(zhǎng)度
使用函數(shù)len()可快速獲悉列表長(zhǎng)度昆稿,例如: