Python中有許多資料型態,除了一般常見的數字型態(int、float、bool…)、字串型態(string),還有一種容器型態(list、dictionary、tuple、set)
List
List是一種有序集合,可以任意新增或移除其中的元素,而其中的元素可以是任何型態,元素間也可以為不同型態。List用中括號”[]”表示,並用逗號”,”將元素隔開,如下:
而List擁有多種操作方法,如下:
List.append(): 在List尾端新增一個元素
List.insert(): 在List的特定位置插入元素
List.remove(): 移除List中的元素
List.pop(): 移除List中特定位置的元素,假如沒給定位置,則會移除最後一個元素
del List[]: 移除List中特定位置的元素,與pop()類似,但pop()只能移除單一元素,但del可以移除索引範圍
List.reverse(): 反轉List的順序
List.sort(): 對List排序
List.index(): 特定元素在List中出現的第一個位置
List.count(): 特定元素在List中出現的次數
Dictionary
為Key-Value的形式,與List很像,但差異為List為有序集合,通過索引位置找到對應之元素,而Dictionary則是通過Key找到對應之元素。其概念與其他語言之hash map雷同。
Dictionary使用”{}”表示,Set相同符號,但其結構為Key對應一Value。
其可以使用兩種形式建立:
直接定義Dictionary中的元素,或是宣告一個Dictionary後再新增元素
Value可以為任意型態,且可以任意更動,但Key不可以為unhashable type (List、Set、Dictionary),為不可更動的。
Dictionary.keys(): 取得Dictionary中所有Key,資料型態為dict_keys
Dictionary.values(): 取得Dictionary中所有Value,資料型態為dict_values
Dictionary.items(): 取得所有(key, value)組合,資料型態為dict_items
List與Dictionary使用差異為,List通常用於物件為有序的狀態,Dictionary則是用於無序,需要直接搜尋資料的情況下
Tuple
與List相當雷同,但差異為Tuple為不可更動的,Tuple給定元素後不能改變,其結構如下:
Set
Set其與Dictionary類似,為Key的集合,但不儲存Value,其中擺放無序且獨特的元素,且不可放入可變元素,與Key性質相同(hash map)。上述的三種資料型態(List、Dictionary、Tuple)中的元素都可以重複,Set是不可重複的。
Set一樣使用”{}”表示,如下: