【字典-常用方法】

本文介绍了Python字典的常用方法,包括update函数用于添加或覆盖字典项,keys和values函数分别获取键和值的集合。get方法安全地获取字典值,允许设置默认值,而直接索引虽然快速但可能会引发错误。此外,讨论了字典的删除操作如clear、pop和del,以及in和not in操作符以及popitem方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

- update函数:添加新的字典,如果新字典中有和原字典相同的key,则该key的value会被新字典的value覆盖

- dict.update(new_dict)

students = {'name':'xiaolan','age':17,'id':1}
xiaoyun = {'name':'xiaoyun','age':16,'id':3}
xiaoyun['top'] = 174
print(xiaoyun)
xiaoyun['name'] = '小云'
print(xiaoyun)

students.update(xiaoyun)
print(students)

students.setdefault('name','xiaoming')
print(students)
students.setdefault('class','B')
print(students)

- keys函数,获取字典中所有key

- dict.keys(),返回一个key集合的伪列表

- dict.values(),返回一个value集合的伪列表

students = {'name':'Mark','age':17,'id':1,'class':'B'}
xiaoyun = {'name':'xiaoyun',
### Python 字典常用操作方法 #### 获取字典中的值 `get()` 方法用于根据键来获取对应的值,如果指定的键不存在,则返回 `None` 或者设置默认返回值。这相比直接使用方括号访问更加安全,因为后者会在找不到键的情况下抛出异常。 ```python scores_dict = {'语文': 105, '数学': 140, '英语': 120} print(scores_dict.get('历史')) # 输出 None ``` 对于尝试访问不存在的键时,使用方括号将会触发 `KeyError` 错误: ```python try: print(scores_dict['历史']) except KeyError as e: print(f"捕获到错误: {e}") # 捕获到错误: '历史' ``` #### 添加或更新字典项 可以通过简单的赋值语句向字典中添加新的条目或是修改已有的条目[^2]。 ```python # 更新现有条目的值 scores_dict['数学'] = 98 # 新增一个条目 scores_dict['物理'] = 87 print(scores_dict) ``` #### 删除字典中的元素 可以利用 `del` 关键词删除特定键所关联的数据,也可以通过 `pop()` 函数移除并返回被删去的值。 ```python del scores_dict['英语'] score_removed = scores_dict.pop('化学', '该科目成绩未录入') print(score_removed) # 如果存在则打印具体分数,否则显示自定义消息 ``` #### 遍历字典 遍历字典的方式有多种,可以直接迭代其所有的键,或者同时获得键和值。 ```python for subject in scores_dict: print(subject) for subject, score in scores_dict.items(): print(f"{subject}: {score}") ``` #### 处理多个字典之间的关系 虽然提到过 `cmp(dict1, dict2)` 可用来对比两个字典的内容,但是需要注意的是此功能仅适用于 Python 2.x 版本,在 Python 3.x 中已经被弃用了[^1]。 为了实现相似的功能,可以在 Python 3.x 使用其他方式比如集合运算来进行两者的差异分析。 ```python dict_a = {"a": 1, "b": 2} dict_b = {"b": 2, "c": 3} diff_keys = set(dict_a).symmetric_difference(set(dict_b)) print(diff_keys) # 显示不同之处 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值