引言
??????? Python是一種解釋型、面向?qū)ο笾隆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。Python現(xiàn)在已經(jīng)成為一門非常通用的語言了播瞳,尤其是在數(shù)據(jù)科學(xué)盛行的今天掸刊,因為其易于閱讀和編寫的特點,更是越來越受到編程者的追捧赢乓。最近我一直在看Python的書籍忧侧,學(xué)習(xí)如何使用這門語言石窑,下面我們就來看一下,Python中的列表以及python是如何操作列表的苍柏。
什么是列表
?????? 列表由一系列按照特定順序排列的元素組成尼斧。我們可以創(chuàng)建包含字母表中的所有字母、數(shù)字0-9或所有家庭成員姓名的列表试吁,也可以將任何東西加入列表之中棺棵,其中的元素之間可以沒有任何關(guān)系。
在python中熄捍,用方括號([ ])來標(biāo)示列表烛恤,并用逗號來分隔其中的元素。下面我們來創(chuàng)建一個簡單的列表并且打印一下:
?????? 可以看到余耽,python打印的內(nèi)容還包括了方括號缚柏,這一點與其他的開發(fā)語言是有不同的,這不是我們想讓用戶看到的結(jié)果碟贾,所以我們看一下如何讓python只輸出元素币喧,而不包括方括號。
訪問和操作列表
訪問
????????? Python訪問列表與其他編程語言基本是一致的袱耽,列表是一個有序集合杀餐,訪問其中的元素,只需要將要訪問的元素的位置和索引告訴python即可朱巨。比如我們訪問bicycles中的第一個元素史翘,我們可以這么寫:
Python還為訪問列表的最后一個元素提供了一種特殊的語法,就是將索引指定為-1冀续。程序如下:
修改琼讽、添加和刪除元素
我們創(chuàng)建的列表大多數(shù)都是動態(tài)的,假如我們需要更改列表的某個元素洪唐,我們需要這么做:
?????? 我們可以看到钻蹬,列表bicycles列表的第一個元素已經(jīng)改變了,我們已經(jīng)無法使用trek這個元素了凭需。我們還可以往創(chuàng)建的列表中添加新的元素脉让,例如,我們需要添加新元素”EFD”功炮,可以這樣做:
新元素”EFD”已經(jīng)成功加入到列表中,append語法類似于Js操作DOM元素時的append語法术唬。除了使用append天機薪伏,我們還可以使用insert來添加一個新元素。
使用insert方法時粗仓,必須指定需要插入元素的位置嫁怀,否則程序會報錯:
除了添加元素设捐,還可以使用del語句刪除元素:
元素已成功被刪除,del語句刪除元素是永久性的塘淑,刪除元素之后就無法被找回萝招。如果我們在刪除元素的時候,還想使用被刪除的元素怎么辦存捺?python也提供了一種方法:pop()槐沼,將元素從列表中彈出,并且可以繼續(xù)使用它的值捌治。
Pop()默認不寫位置的話岗钩,會刪除列表最后一個元素,寫了位置之后肖油,將刪除指定位置的元素兼吓。
除此之外,我們還可以利remove語句根據(jù)值來刪除元素:
對列表進行排序
?????? 在我們創(chuàng)建列表的時候森枪,列表中元素的順序我們無法預(yù)測视搏,但是我們又需要有一定順序的列表,python提供了方法供我們很方便的調(diào)用县袱。利用sort()方法對列表進行永久性排序浑娜。假設(shè)我們有一個汽車品牌列表,并且需要按照汽車品牌首字母進行排序显拳,那我們可以這樣做:
此時棚愤,內(nèi)存中列表的順序已經(jīng)完全被改變。我們還可以反序排列杂数,只需要在sort()函數(shù)中傳遞一個參數(shù)reverse =True即可宛畦。(True首字母必須大寫,python對大小寫敏感)
除了永久性排序之外揍移,python還提供了對列表臨時性排序的方法sorted()次和。本方法不會影響原始列表的順序。
注意:sorted()方法不能用列表本身點出來那伐,應(yīng)該像方法一樣使用踏施,而sort()可以用列表本身點出來。reverse()方法雖然是永久性的改變罕邀,但是我們可以再次調(diào)用reverse()方法恢復(fù)到原來的順序畅形。
最后,我們看一下如何確定一個列表的長度:
總結(jié)
習(xí)了python中列表的創(chuàng)建和操作的方法诉探,總結(jié)一下:
1.列表是用方括號[ ]括起來的日熬,里面的元素可以是string類型的,也可以是其他類型的肾胯,還可以是string和int類型混合的竖席。
2.要訪問列表中的元素耘纱,只需要告訴索引即可,例如cars[0]毕荐。
3.修改列表的元素:cars[0] = ‘a(chǎn)udi’
4.添加元素有兩種:cars.append(‘a(chǎn)udi’)和cars.insert(index,’audi’)束析。
5.刪除元素有三種del cars[0];cars.pop(index)憎亚;cars.remove(‘a(chǎn)udi’)
6.對列表進行永久排序cars.sort()
7.臨時性排序sorted(cars)
8.反向排序reverse ()或cars.sort(reverse = True)
9.確定列表的長度len(cars)