# Python 內建容器 ###### tags: `Python` `Container` #### 2022/04/01 by JohnAxer - Python 內建容器 Container - 容器顧名思義就是用來儲存物品的東西,而用來裝資料的就是資料容器。Python 內建有四大資料容器,好好利用,對於解決問題有莫大的幫助。 - 串列(list): ``a = [1,2,3,4]`` - 元組(tuple): ``t = (1,2,3,4)`` - 集合(set): ``s = {1,2,3,4}`` - 字典(dictionay): ``d = {"age":28, "name": "JohnAxer"}`` - 集合 - 使用範例 ```python= #宣告或定義 e1 = set() s1 = {1, 2, 5, 5, 8} s2 = { i**2 for i in range(5) } # {0, 1, 4, 9, 16} print("e1 =", e1) print("s1 =", s1) print("s2 =", s2) #集合元素的增刪與巡覽 s1.add(9) print("s1 =", s1) s1.remove(5) print("s1 =", s1) result = 16 in s2 print("16 in s2 = ", result) for i in s2: print(i) #集合屬性 len、sum、max、min print("len =", len(s1)) print("sum =", sum(s1)) print("max =", max(s1)) print("min =", min(s1)) #集合運算 #union s3 = s1 | s2 print("s3 =", s3) #intersection s4 = s1 & s2 print("s4 =", s4) #差集 s5 = s1 - s2 s6 = s2 - s1 print("s5 =", s5) print("s6 =", s6) #對稱差集 s7 = s1 ^ s2 print("s7 =", s7) #轉型 a = [1, 2, 3, 5, 5, 5, 10] s8 = set(a) # {1, 2, 3, 5, 10} a = list(s8) # [1, 2, 3, 5, 10] print(a) ``` - 集合中的元素本身是無序的且不重複的,所以,集合不能排序。 - 字典 - 範例 ```python= #宣告 d1 = {} #空字典 d2 = dict() #空字典 d3 = { "name": 'johnaxer', 'age': 50, 'height': 170, 'weight': 72, 'salary': [6, 7, 8, 6], 5: "888" } #存取 Read print(d3['name']) #print(d3['sex']) #error print(d3.get('sex')) #取得所有 key print(list(d3.keys())) #判斷有沒有這個 key print("sex" in d3.keys()) print("age" in d3.keys()) print("abc" in d3) #取出所有值 print(list(d3.values())) a = list(d3.values()) print(a[4][2]) #新增 create d3["sex"] = "男" print(d3) #修改 update d3["sex"] = '女' print(d3) print(len(d3)) #刪除 delete del d3["salary"] print(d3) sex = d3.pop("sex") print(d3) print(sex) d3.clear() print(d3) ```