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"}
  • 集合

    • 使用範例
    ​​​​#宣告或定義 ​​​​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)
    • 集合中的元素本身是無序的且不重複的,所以,集合不能排序。
  • 字典

    • 範例
    ​​​​#宣告 ​​​​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)