【字典-常用方法】

本文介绍了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','age':16,'id':3}
students_key = list(students.keys())
students_value = list(students.values())
print(students_key,students_value)

print('{} | {} | {} | {}'.format(students_key[0],
students_key[1],students_key[2],students_key[3],))
print('{} | {} | {} | {}'.format(students_value[0],
students_value[1],students_value[2],students_value[3],))
print('Luck | 18 | 7 | A') # 结合后续数据库

字典中值的获取【】,get

区别:【】获取不到会直接报错,get获取不到对应key值时返回默认值

性能:【】获取速度比get更快,但如果不存在则报错,两种方法灵活使用

students = {'name':'xiaolan','age':17,'id':1,'class':'B'}

values = []
values.append(students['name'])
values.append(students['age'])
values.append(students['id'])
values.append(students['class'])
print(values)
# values.append(students['birthday']) #不存在,报错

values.append(students.get('birthday'))
print(values)
values.append(students.get('birthday','1988-09-08'))
print(values)
values.append(students.get('class','C'))
print(values)

 

字典的删除,clear(清空),pop(删除并返回值,不存在报错),del()

projects = {'ipad':{'name':'ipad','price':3000},
'notebook':{'name':'notebook','price':2000},
'iphone': {'name': 'iphone', 'price': 7000},
'Mac': {'name': 'Mac', 'price': 8000}}

print(projects.keys())
print('mark购买{},价格{}'.format(projects['ipad']['name'],projects['ipad']['price']))
projects.pop('ipad')
print(projects.keys())

result = projects.pop('Mac')
print('Luck购买了{},价格是{}'.format(result['name'],result['price']))
print(projects.keys())

print('{}和{}都卖出了,总价格为{}元'.format(
    projects['notebook']['name'],projects['iphone']['name'],
    (projects['notebook']['price']+projects['iphone']['price'])))
projects.clear()
print(projects)

del projects
projects = {'小猫':10,'小狗':7,'吉娃娃':18}

animals = projects.copy()
print(animals)

animals['波斯猫'] = 8
animals['藏獒'] = 2
print(animals)
animals['小猫'] -= 4
animals['小狗']  = animals['小狗'] -5
print(animals)
animals.clear()
print(animals)
animals = projects.copy()
print(animals)

- in 与 not in

- popitem,删除当前字典里末尾一组键值对,并将其返回(元组)

projects = {'小猫':10,'小狗':7,'吉娃娃':18,'a':None}

print('a' in projects)
print(bool(projects.get('a')))
print('nn' in projects)

projects.pop('a')
print(projects)
result = projects.popitem()#从最后一位开始删除并返回
print('{}有{}只'.format(result[0],result[1]))
result = projects.popitem()
print('{}有{}只'.format(result[0],result[1]))
result = projects.popitem()
print('{}有{}只'.format(result[0],result[1]))
print(projects)

 

 

 

### Python 字典常用方法总结 字典(`dict`)是Python中一种非常重要的数据结构,用于存储键值对。以下是字典的一些常用方法及其详细说明: #### 1. 添加与修改数据 - **通过键直接赋值**:可以通过键直接为字典添加或修改键值对。 ```python d = {'a': 1, 'b': 2} d['c'] = 3 # 添加新键值对 d['a'] = 0 # 修改已有键的值 print(d) # 输出:{'a': 0, 'b': 2, 'c': 3} ``` - **`update()` 方法**:可以一次性更新多个键值对。 ```python d = {'a': 1, 'b': 2} d.update({'b': 3, 'c': 4}) print(d) # 输出:{'a': 1, 'b': 3, 'c': 4} ``` - **`setdefault()` 方法**:当键不存在时,设置默认值并返回该值;若键已存在,则返回其对应的值。 ```python d = {'a': 1} value = d.setdefault('b', 2) print(value) # 输出:2 print(d) # 输出:{'a': 1, 'b': 2} ``` #### 2. 获取键、值和键值对 - **`keys()` 方法**:返回字典中所有键的视图对象。 ```python d = {'a': 1, 'b': 2, 'c': 3} print(d.keys()) # 输出:dict_keys(['a', 'b', 'c']) ``` - **`values()` 方法**:返回字典中所有值的视图对象。 ```python d = {'a': 1, 'b': 2, 'c': 3} print(d.values()) # 输出:dict_values([1, 2, 3]) ``` - **`items()` 方法**:返回字典中所有键值对的视图对象。 ```python d = {'a': 1, 'b': 2, 'c': 3} print(d.items()) # 输出:dict_items([('a', 1), ('b', 2), ('c', 3)]) ``` #### 3. 获取值 - **通过键获取值**:使用键直接获取对应的值,若键不存在则会抛出 `KeyError` 异常。 ```python d = {'a': 1, 'b': 2} print(d['a']) # 输出:1 try: print(d['c']) except KeyError as e: print(e) # 输出:'c' ``` - **`get()` 方法**:通过键获取值,若键不存在则返回指定的默认值。 ```python d = {'a': 1, 'b': 2} print(d.get('a')) # 输出:1 print(d.get('c', -1)) # 输出:-1 ``` #### 4. 删除操作 - **`pop()` 方法**:删除指定键的键值对,并返回对应的值。 ```python d = {'a': 1, 'b': 2, 'c': 3} value = d.pop('b') print(value) # 输出:2 print(d) # 输出:{'a': 1, 'c': 3} ``` - **`popitem()` 方法**:随机删除一个键值对,并返回该键值对。 ```python d = {'a': 1, 'b': 2, 'c': 3} key, value = d.popitem() print(key, value) # 输出:c 3 print(d) # 输出:{'a': 1, 'b': 2} ``` - **`del` 语句**:删除指定键的键值对。 ```python d = {'a': 1, 'b': 2, 'c': 3} del d['b'] print(d) # 输出:{'a': 1, 'c': 3} ``` #### 5. 判断键是否存在 - 使用 `in` 关键字判断键是否存在于字典中。 ```python d = {'a': 1, 'b': 2} print('a' in d) # 输出:True print('c' in d) # 输出:False ``` #### 6. 复制字典 - **`copy()` 方法**:创建字典的一个浅拷贝。 ```python d = {'a': 1, 'b': 2} d_copy = d.copy() print(d_copy) # 输出:{'a': 1, 'b': 2} ``` #### 7. 清空字典 - **`clear()` 方法**:清空字典中的所有键值对。 ```python d = {'a': 1, 'b': 2} d.clear() print(d) # 输出:{} ``` #### 8. 嵌套字典遍历 对于嵌套字典,可以通过嵌套循环访问内部数据[^2]。 ```python dictionary = { 'apple': {'释义': '苹果', '词性': '名词'}, 'grape': {'释义': '葡萄', '词性': '名词'} } for word, infos in dictionary.items(): meaning = infos['释义'] pos = infos['词性'] print(f'{word}: {meaning}-{pos}') ``` ### 注意事项 - 在多线程环境中,字典的操作并不是线程安全的,需要额外的同步机制[^3]。 - 使用 `setdefault()` 方法时,若未指定默认值,则默认为 `None`[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值