### Python3 中 dict(字典)的使用方法详解 #### 一、字典的基本概念与特点 在Python中,字典是一种可变容器模型的数据类型,它存储的是键值对(key-value)形式的数据。字典的每个键值对用冒号(:)分割,每对之间用逗号(,)分隔,整个字典包括在花括号({})之中。 字典具有以下特性: 1. 字典是无序的,即元素没有明确的顺序。 2. 键必须不可变,通常使用数字、字符串或元组。 3. 值可以是任何数据类型。 4. 字典中的键是唯一的,重复的键会被最新的值覆盖。 #### 二、字典的创建 可以通过以下几种方式创建字典: - 直接使用大括号 {} - 使用dict()构造函数 **示例**: ```python # 创建字典 student = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} # 使用dict()构造函数 student2 = dict(num1='Tom', num2='Lucy', num3='Sam') ``` #### 三、字典的方法 ##### 1. `clear()` - 清空字典内容 该方法用于移除字典中的所有元素,使字典变成空字典。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} stu.clear() print(stu) # 输出:{} ``` ##### 2. `copy()` - 拷贝字典 该方法返回一个浅拷贝的字典。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} stu2 = stu.copy() print(stu2) # 输出:{'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} ``` ##### 3. `fromkeys()` - 从序列创建字典 `fromkeys()` 方法用于从一个序列和一个值创建字典。 **示例**: ```python names = ['tom', 'lucy', 'sam'] new_dict = dict.fromkeys(names, 25) print(new_dict) # 输出:{'tom': 25, 'lucy': 25, 'sam': 25} ``` ##### 4. `get()` - 获取字典中指定键的值 该方法用于获取指定键的值,如果键不存在,则返回默认值。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} print(stu.get('num2')) # 输出:Lucy print(stu.get('num4', 'Not Found')) # 输出:Not Found ``` ##### 5. `items()` - 返回字典的所有键值对 该方法返回一个迭代器,其中包含了字典的所有键值对。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} print(stu.items()) # 输出:dict_items([('num1', 'Tom'), ('num2', 'Lucy'), ('num3', 'Sam')]) ``` ##### 6. `keys()` - 获取字典的所有键 该方法返回一个包含字典所有键的视图对象。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} print(stu.keys()) # 输出:dict_keys(['num1', 'num2', 'num3']) ``` ##### 7. `pop()` - 删除并返回指定键的值 该方法删除字典中指定键的条目并返回相应的值。如果键不存在,则返回默认值。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} name = stu.pop('num2') print(name, stu) # 输出:Lucy {'num1': 'Tom', 'num3': 'Sam'} ``` ##### 8. `popitem()` - 删除并返回任意键值对 该方法随机删除并返回字典中的一个键值对。在Python3.7+版本中,按插入顺序返回最后一个键值对。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} name = stu.popitem() print(name, stu) # 输出:('num3', 'Sam') {'num1': 'Tom', 'num2': 'Lucy'} ``` ##### 9. `setdefault()` - 设置或获取指定键的值 该方法用于获取字典中指定键的值,如果键不存在,则将键设置为指定值。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} name = stu.setdefault('num5', 'New Value') print(name, stu) # 输出:New Value {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam', 'num5': 'New Value'} ``` ##### 10. `update()` - 更新字典 该方法用于将一个字典或多个键值对加入到另一个字典中。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} stu.update({'num4': 'Ben'}) print(stu) # 输出:{'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam', 'num4': 'Ben'} ``` #### 四、字典的遍历 字典可以通过多种方式遍历,如遍历键、值或键值对等。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} # 遍历键 for key in stu: print(key) # 遍历值 for value in stu.values(): print(value) # 遍历键值对 for key, value in stu.items(): print(f"Key: {key}, Value: {value}") ``` #### 五、字典排序 字典本身是无序的,但可以通过排序函数对字典进行排序操作。 **示例**: ```python stu = {'num1': 'Tom', 'num2': 'Lucy', 'num3': 'Sam'} # 按键排序 sorted_stu = sorted(stu.items()) print(sorted_stu) # 按值排序 sorted_stu_by_value = sorted(stu.items(), key=lambda item: item[1]) print(sorted_stu_by_value) ``` 通过上述介绍,我们可以看到Python3中字典的使用方法非常丰富且实用。掌握这些方法可以帮助我们在实际开发中更加高效地处理数据结构问题。
- 粉丝: 3
- 资源: 946
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助