博客 / 詳情

返回

Python 的內置函數 dict

Python 的內置函數 dict() 用於創建一個字典對象,是 Python 中最常用的數據結構之一。字典以鍵值對(key-value)的形式存儲數據,具有高效的查找性能。

基本用法

  1. 創建空字典

    empty_dict = dict()
    # 等價於
    empty_dict = {}
  2. 通過鍵值對創建字典

    person = dict(name='Alice', age=25, city='New York')
    # 等價於
    person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
  3. 通過可迭代對象創建字典

    # 使用包含元組的列表
    items = [('name', 'Bob'), ('age', 30)]
    person = dict(items)
    
    # 使用 zip 函數
    keys = ['name', 'age']
    values = ['Charlie', 35]
    person = dict(zip(keys, values))

字典的特性

  • 鍵必須是不可變類型:如字符串、數字或元組(但元組中不能包含可變元素)
  • 值可以是任意類型:包括其他字典、列表等
  • 無序性(Python 3.7+ 後保持插入順序)
  • 可變性:可以動態添加、修改或刪除鍵值對

常用字典操作

  1. 訪問元素

    print(person['name'])  # 獲取鍵對應的值
    print(person.get('age', 0))  # 安全獲取,不存在時返回默認值
  2. 修改/添加元素

    person['age'] = 40  # 修改
    person['job'] = 'Engineer'  # 添加
  3. 刪除元素

    del person['city']  # 刪除指定鍵
    age = person.pop('age')  # 刪除並返回值
    person.clear()  # 清空字典
  4. 其他常用方法

    keys = person.keys()  # 獲取所有鍵
    values = person.values()  # 獲取所有值
    items = person.items()  # 獲取所有鍵值對

字典推導式

類似於列表推導式,可以快速生成字典:

squares = {x: x*x for x in range(5)}
# 結果: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

應用場景

  1. 配置存儲:存儲程序配置參數
  2. 數據緩存:作為臨時數據存儲容器
  3. JSON 處理:與 JSON 數據結構天然對應
  4. 快速查找:利用哈希表特性實現高效查詢

性能特點

  • 查找、插入和刪除操作的平均時間複雜度都是 O(1)
  • 相比列表,字典佔用更多內存空間
  • 當數據量很大時,字典的性能優勢更加明顯

注意事項

  1. 避免使用可變對象作為鍵
  2. 字典在 Python 3.6 及更早版本中不保證順序
  3. 字典鍵是大小寫敏感的(如 'Name' 和 'name' 是不同的鍵)
  4. 使用 in 關鍵字可以檢查鍵是否存在:

    if 'name' in person:
        print("Key exists")

Python 的字典實現基於哈希表,這種設計使其成為處理鍵值對數據的高效工具,是 Python 編程中不可或缺的數據結構。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.