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()將一個集合與另一個集合合併