[零基礎學python]有容乃大的list(1)

前面的學習中,咱們已經知道了兩種python的數據類型:int和str。再強調一下對數據類型的理解,這個世界是由數據組成的,數據多是數字(注意,別搞混了,數字和數據是有區別的),也多是文字、或者是聲音、視頻等。在python中(其它高級語言也相似)把狀如2,3這樣的數字劃分爲一個類型,把狀如「你好」這樣的文字劃分一個類型,前者是int類型,後者是str類型(這裏就不說翻譯的名字了,請看官熟悉用英文的名稱,對往後編程大有好處,什麼好處呢?誰用誰知道!)。html

前面還學習了變量,若是某個變量跟一個int類型的數據用線連着(行話是:賦值),那麼這個變量咱們就把它叫作int類型的變量;有時候還沒賦值呢,是準備讓這個變量接收int類型的數據,咱們也須要將它聲明爲int類型的變量。不過,在python裏面有同樣好處,變量不用提早聲明,隨用隨命名。python

這一講中的list類型,也是python的一種數據類型。翻譯爲:列表。下面的黑字,請看官注意了:git

LIST在python中具備很是強大的功能。github

定義

在python中,用方括號表示一個list,[ ]編程

在方括號裏面,能夠是int,也能夠是str類型的數據,甚至也可以是True/False這種布爾值。看下面的例子,特別注意閱讀註釋。app

>>> a=[]        #定義了一個變量a,它是list類型,而且是空的。
>>> type(a)
<type 'list'>   #用內置函數type()查看變量a的類型,爲list
>>> bool(a)     #用內置函數bool()看看list類型的變量a的布爾值,由於是空的,因此爲False
False
>>> print a     #打印list類型的變量a
[]

不能總玩空的,來點實的吧。函數

>>> a=['2',3,'qiwsir.github.io']
>>> a
['2', 3, 'qiwsir.github.io']
>>> type(a)
<type 'list'>
>>> bool(a)
True
>>> print a
['2', 3, 'qiwsir.github.io']

用上述方法,定義一個list類型的變量和數據。學習

本講的標題是「有容乃大的list」,就指明瞭list的一大特色:能夠無限大,就是說list裏面所能容納的元素數量無限,固然這是在硬件設備理想的狀況下。ui

list索引

尚記得在《玩轉字符串(3)》中,曾經給字符串進行編號,而後根據編號來獲取某個或者某部分字符,這樣的過程,就是「索引」(index)。url

>>> url = "qiwsir.github.io"
>>> url[2]
'w'
>>> url[:4]
'qiws'
>>> url[3:9]
'sir.gi'

在list中,也有相似的操做。只不過是以元素爲單位,不是以字符爲單位進行索引了。看例子就明白了。

>>> a
['2', 3, 'qiwsir.github.io']
>>> a[0]    #索引序號也是從0開始
'2'
>>> a[1]
3
>>> [2]
[2]
>>> a[:2]   #跟str中的相似,切片的範圍是:包含開始位置,到結束位置以前
['2', 3]    #不包含結束位置
>>> a[1:]
[3, 'qiwsir.github.io']
>>> a[-1]   #負數編號從右邊開始
'qiwsir.github.io'
>>> a[-2]
3
>>> a[:]
['2', 3, 'qiwsir.github.io']

對list的操做

任何一個行業都有本身的行話,如同古代的強盜,把撤退稱之爲「扯乎」同樣,縱然是一個含義,可是強盜們願意用他們本身的行業用語,俗稱「黑話」。各行各業都如此。這樣作的目的我理解有兩個,一個是某種保密;另一個是行外人士顯示本行業的門檻,讓別人感受這個行業很高深,從業者有必定水平。

無論怎麼,在python和不少高級語言中,都給原本數學角度就是函數的東西,又在不一樣狀況下有不一樣的稱呼,如方法、類等。固然,這種稱呼,其實也是爲了區分函數的不一樣功能。

前面在對str進行操做的時候,有一些內置函數,好比s.strip(),這是去掉左右空格的內置函數,也是str的方法。按照一向制的對稱法則,對list也會有一些操做方法。

追加元素

>>> a = ["good","python","I"]      
>>> a
['good', 'python', 'I']
>>> a.append("like")        #向list中添加str類型"like"
>>> a
['good', 'python', 'I', 'like']
>>> a.append(100)           #向list中添加int類型100
>>> a
['good', 'python', 'I', 'like', 100]

官方文檔這樣描述list.append()方法

list.append(x)

Add an item to the end of the list; equivalent to a[len(a):] = [x].

從以上描述中,以及本部分的標題「追加元素」,是否是可以理解list.append(x)的含義呢?即將新的元素x追加到list的尾部。

列位看官,若是您注意看上面官方文檔中的那句話,應該注意到,還有後面半句: equivalent to a[len(a):] = [x],意思是說list.append(x)等效於:a[len(a):]=[x]。這也至關於告訴咱們了另一種追加元素的方法,而且兩種方法等效。

>>> a
['good', 'python', 'I', 'like', 100]
>>> a[len(a):]=[3]      #len(a),即獲得list的長度,這個長度是指list中的元素個數。
>>> a
['good', 'python', 'I', 'like', 100, 3]
>>> len(a)
6
>>> a[6:]=['xxoo']
>>> a
['good', 'python', 'I', 'like', 100, 3, 'xxoo']

順便說一下len(),這個是用來獲取list,str等類型的數據長度的。在字符串講解的時候也提到了。

>>> name = 'yeashape'
>>> len(name)       #str的長度,是字符的個數
8
>>> a=[1,2,'a','b'] #list的長度,是元素的個數
>>> len(a)
4
>>> b=['yeashape']   
>>> len(b)
1

下一講繼續list,有容乃大。

相關文章
相關標籤/搜索