字典

浏览 704

课文

## 字典的概念 字典是一些键值对的集合,通过键我们可以直接寻找到对应的值,键在字典中是唯一的,值则可以允许重复。 可以将我们自己想象成一个字典,我们身上的各个属性都有对应的键值。创建字典使用 `dict` 方法或 `{}` (大括号)的形式。 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, } print(man) ``` ```output {'name': '小明', 'height': 1.8, 'weight': 70} ``` 在字典里面,我们的 `键(key)`是不能重复的,然而 `值(value)`是可以重复的。 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, 'name': '小红', 'num': 70, } print(man) ``` ```output {'name': '小红', 'height': 1.8, 'weight': 70, 'num': 70} ``` ## 基本操作 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, } print(man['name']) # 通过键名索引值 man['name'] = '柯南' # 修改对应的值 del man['weight'] # 删除对应的键 man.update({'address': '东京'}) # 添加元素 print(man) ``` ```output 小明 {'name': '柯南', 'height': 1.8, 'address': '东京'} ``` 如果要判断一个字典是否包含某个键,可以直接用 `in` 操作符。 ```python ...... print('字典是否包含 name:', 'name' in man) print('字典是否包含 address:', 'address' in man) ``` ```output 字典是否包含 name: True 字典是否包含 address: False ``` 字典的内置方法 `keys` 与 `values` 能分别返回所拥有的`键`与`值`的列表。 ```python ...... print('字典的所有键:', man.keys()) print('字典的所有值:', man.values()) ``` ```output 字典的所有键: dict_keys(['name', 'height', 'weight', 'num']) 字典的所有值: dict_values(['小明', 1.8, 70, 70]) ``` ## 常用方法 `clear` 用于清空一个字典。 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, } man.clear() print(man) ``` ```output {} ``` `get` 方法通过键来获取一个值,第二个参数表示当键不存在时返回一个默认值。 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, } print(man.get('name')) print(man.get('age')) print(man.get('age', 20)) ``` ```output 小明 None 20 ``` `pop` 根据键弹出一个键值对,并返回其中的值。 ```python man = { 'name': '小明', 'height': 1.8, 'weight': 70, } print(man.pop('name')) print(man) ``` ```output 小明 {'height': 1.8, 'weight': 70} ```

实战

1.存在字典 `nums = {'a': 4, 'b': 1, 'c': 17, 'd': -4}`, 求出最大`值`对应的`键`。

解析

1.存在字典 `nums = {'a': 4, 'b': 1, 'c': 17, 'd': -4}`, 求出最大`值`对应的`键`。 ```python ...... max_key = None for key in nums.keys(): if max_key is None or nums[key] > nums[max_key]: max_key = key print('最大值对应的键:', max_key) ``` ```output 最大值对应的键: c ```
点击查看

评论

登录参与讨论

欢乐马

04-19

回复

西瓜lalavilaxxww

@欢乐马

04-20

回复

共 1 条
  • 1
前往
  • 1