1. 程式人生 > >Python4個內建資料結構(待補充)

Python4個內建資料結構(待補充)

分別是列表,元組,字典,集合

一、列表

有序的可變物件集合

列表中的每個元素從0開始編號。列表是動態的,因為它們可以根據需要擴充套件(收縮),不需要預宣告列表的大小

列表還是異構的,因為不需要預先宣告索要儲存物件的型別,完全可以在一個列表中混合不同型別的物件

列表是可變的,可以在任何時間增加,刪除或修改物件來修改列表

prices=[]

temps=[32.0,212.0,0.0]

word=['hello','world']

car=[‘toyota’,‘rava’,2.2,6089]

everything=[prices,temps,words,car]

擴充套件列表

       列表名.append(xx)

      可以使用in檢查一個物件是否包含在一個集合中,還可以使用not in 來檢查一個集合是否不存在某個物件

列表刪除物件

      (1)remove:取一個物件值作為唯一的引數

               從列表中刪除指定資料值的第一次出現。

       (2)pop:取一個可選的索引值作為引數

               根據物件的索引值從現有的列表刪除和返回一個物件。如果沒有指定索引值,將刪除和返回列表中的最後一個物件

用物件拓展列表

       extend:取一個物件列表作為唯一的引數

  如果要將兩個列表合併為一個列表,這個方法就非常有用

      insert:取一個索引值和一個物件作為引數

                   將一個物件插入到現有列表中指定索引值前面,可以將物件插入到開頭或者任何位置

append和extend僅限於列表的末尾增加物件

賦值操作符不能把一個列表賦值到另一個列表,用賦值則這兩個列表都指向同一資料,如果修改一個則另一個也會改變

使用copy()方法後,會實現真正的複製

列表切片

       列表名[start:stop:step]

       如果沒有指定開始值,預設值為0   沒有指定結束值,則取列表允許的最大值  如果沒有指定步長,預設值為1

Python中單引號和雙引號都可以用來包圍任意長度的字串

字串轉換為列表:

>>str="hello"
>>booklist=list(str)
>>boolist
['h','e','l','l','o']

 列表轉換為字串:

>>booklist[0:3]
['T','h','e']

>>''.join(booklist[0:3])
'The'

python允許從任意兩端索引列表,使用-1會選擇列表中的最後一項,-2會選擇導數第二項

二、元組

有序的不可變物件集合

一旦像一個賦物件,任何情況下這個元組都不能再改變

可以把元組想成是一個常量列表

三、字典

無序的鍵/值對集合

字典會關聯鍵和值,而且(類似於列表)可以動態收縮和擴充套件到任意大小

字典名={鍵1:關聯的資料值1,鍵2:關聯的資料值2,......}

列表會維持物件插入時的順序,與列表不同,Python的字典不會這樣做,它們是無序的。字典不會維持插入時的順序

選擇字典中儲存的資料時,與字典的順序毫無關係,關鍵在於你使用的鍵,要用鍵來查詢值

字典使用鍵來訪問其關聯的資料值

指定輸出時的字典順序   sorted(字典名)

四、集合

無序的唯一物件集合

可以用來儲存相關物件的一個集合,同時確保其中的任何物件不會重複

集合用大括號來包圍

使用集合時不會維持插入的順序

vowels={'a',‘e’,‘e’,‘i’,‘o’,‘u’}  等價於 vowels=set('aeeiou')

輸出:vowels={‘e’,‘u’,‘a’,‘i’,‘o’}

set()函式傳遞任意序列(如一個字串)來快速生成一個集合

union()將一個集合與另一個集合合併