1. 程式人生 > >Python_從零開始學習_(26) 字典

Python_從零開始學習_(26) 字典

1.  字典的定義

  • dictionary  (字典) 是 除列表以外 Python 之中 最靈活 的資料型別
  • 字典同樣可以用來 儲存多個數據
  • 和列表的區別
  • (ps : 在 js 裡面就是物件的意思,有其他語言基礎的很容易理解)
  • 列表有序 的物件集合
  • 字典無序 的物件集合
  • 字典用 { } 定義
  • 字典使用 鍵值對 儲存資料,  鍵值對之間使用 逗號(,) 分隔 
  • key 是索引
  • value 是資料
  • 之間使用 分號(:) 分隔
  • 鍵必須是唯一的
  • 可以取任何資料型別,  但 鍵 只能使用 字串, 數字元組
# 字典四一個無序的資料集合, 使用print函式輸出字典時,
# 通常輸出的順序和定義的不一致
xiaoming = {"name": "小明",
            "age": 18,
            "height": 1.75}
print(xiaoming)

取值 , 增加 , 刪除 

xiaoming = {"name": "小明",
            "age": 18,
            "height": 1.75}

# 1. 取值
print(xiaoming['name'])

# 2. 增加 / 修改
xiaoming['address'] = "chengdu"
xiaoming['age'] = 19

print(xiaoming)

# 3. 刪除

xiaoming.pop('age')
print(xiaoming)

 

2.  字典的常用操作

  • 在 ipython3 中定義一個 字典,  例如: xiaoming = { }
  • 輸入 xiaoming.  按下 Tap 鍵, ipython 會提示 字典 能夠使用的函式 
# 1. 統計鍵值對數量
print(len(xiaoming))

# 2. 合併字典
temp_dict = {"height": 1.75,
            "age": 20}
# 注意: 如果要合併的字典存在相同鍵, 會覆蓋原字典上的鍵值
xiaoming.update(temp_dict)


# 3. 清空字典
xiaoming.clear()

 

3.  迴圈遍歷

  • 遍歷 就是 依次 從字典 中獲取所有鍵值對
xiaoming = {"name": "小明",
            "age": 18,
            "height": 1.75}

# 迭代遍歷字典
# 變數k是每一次迴圈中, 獲取到的鍵值對的key
for k in xiaoming:
    print("%s - %s" % (k, xiaoming[k]))
    # 打印出來
    # name - 小明
    # age - 18
    # height - 1.75

 

4.  應用場景

  • 儘管可以使用 for in 遍歷 字典
  • 但是在開發中,  更多的應用場景是:
  • 使用 多個鍵值對,  儲存 描述一個 物體 的相關資訊 ---- 描述更復雜的資料資訊
  • 多個字典 放在 一個列表 中, 在進行遍歷, 在迴圈體內部針對每一個字典進行 相同的處理
# 使用 多個鍵值對,  儲存 描述一個 物體 的相關資訊 ---- 描述更復雜的資料資訊
# 將 多個字典 放在 一個列表 中, 在進行遍歷, 在迴圈體內部針對每一個字典進行 相同的處理
card_list = [
    {'name': '張三',
     'age': 17,
     'qq': '123456'},
    {'name': '李四',
     'age': 18,
     'qq': '111111'}
]

for card_info in card_list:

    print(card_info)