python學習之List和Tuple

python學習之List和Tuple


前言

在編程的過程中,有一類數據結構我們將它們稱爲容器,其被用來保存一系列的數據元素。在C++中,我們爲了保存不同類型的對象,我們需要爲他們基類。但是在python中,這些都可以免了,python是動態語言,其自動識別。

List

list是python內置的一種數據類型,稱之爲列表,是一種有序的集合,可以向其中添加和刪除其中的元素。
比如,我們有一個整數list

int_list = [1, 3, 4, 5]
print int_list

構建一個list很簡單,直接使用[]將需要放到其中的元素括起來就可以了,這樣就構建了一個list對象,然後你可以將其賦值給一個變量,然後我們通過這個變量就可以引用這個list。
list是有序的集合,我們可以通過類似於C中數據的方式來取出對應的元素。

int_list = [1, 3, 4, 5]
print int_list[0], int_list[1], int_list[-1]

與C語言不同的是,我們可以使用負數,那麼就是從list尾開始。

python是動態語言,那麼在list中的類型不受必須是同一類型的約束。

L = ['zhouxiang ', 1314, ' love ', ' chenchen']
print L

list可以是空的。

empty_l = []

list有一個方法append(),其可以在list尾追加一個元素。

L = ['zhouxiang ', 1314, ' love ', ' chenchen']
L.append('forever')
print L

如果我們想將其放入list中的特定的位置,那麼就使用insert()方法,其接受兩個參數,第一個爲插入位置的索引號,第二個爲元素。比如

i = [1, 2, 3,4]
i.insert(0, 0)
print i

其插入在1的位置,那麼其後都向後退一個位置,新的list爲
[0, 1, 2, 3, 4]

list中的元素現在有些不需要了,那可以使用pop()方法。其無參數調用時,總是刪除最後一個元素,如果希望指定刪除,那麼就將索引號傳給它,逆序也是可以的。
NOTE
在pop的時候,這樣

i = [1, 2, 3, 4]
i.pop(0)
i.pop(1)
print i

你其實想刪除1和2,但是錯了,i.pop(0)執行完後,list已經變化了,那麼你在i.pop(1),刪除的只能是3。

更新指定位置的元素,直接使用索引號取出,然後賦值即可。

i = [1, 2, 3, 4]
i[0] = -1
print i

Tuple

tuple是另一種有序的列表,中文翻譯爲* 元組 *。tuple 和 list 非常類似,但是,tuple一旦創建完畢,就不能修改了。
list構建使用[],而tuple使用()

tt = ('zhouxiang', 'chenchen')
print tt

tuple相當於C++中的const std::list,不能刪,不能加,只能讀。其訪問和list一樣,使用下標索引訪問,當然也支持逆序。

空tuple構建類似與list

t = ()

創建一個元素的tuple時不能想這樣

t = (1)
print t

這樣只是整數1,這是python解析器,沒有把其作爲一個tuple而是一個運算符來解析。爲了消除歧義,Python 規定,單元素tuple要多加一個逗號“,”,這樣就避免了歧義:

t = (1,)
print t
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章