12.python之字典常用函数

本文详细介绍了Python字典的基本操作,包括添加、修改、删除元素,以及获取键值对的方法。通过示例展示了字典的更新、设置默认值、获取键值、删除键值对和复制字典等操作。此外,还讲解了如何检查键是否存在,以及如何清空字典。这些内容对于理解和使用Python字典非常关键。

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

1.添加、修改字典

  • 字典没有索引
  • 使用[],添加或修改字典,根据key是否存在决定,若是key存在则是修改,key不存在则是添加
  • update函数:添加新的字典,若新字典中有和原字典相同的key,则该kay的value会被新字典的value覆盖
  • update用法:dict.update(new_dict),new_dict是新字典,无返回值
  • setdefault函数:获取某个key的value,若key不存在,将会添加新的key和value,若key存在,则value不会改变
  • setdefault用法:dict.setdefault(key, value)

例:

student = {'name': 'mike'}
print('字典:{}'.format(student))

# 方式一:使用[]
student['name'] = 'angle'  # key存在,这里是修改
student['age'] = 12  # key不存在,这里是添加
print('修改添加字典后:{}'.format(student))

# 方式二:update函数
new_dict = {'name': 'update', 'sex': '女'}
student.update(new_dict)
print('update修改添加字典后:{}'.format(student))

# 方式三:setdefault函数
student.setdefault('class', 'A')  # key不存在,会添加新的key和value
student.setdefault('name', 'setdefault')  # key存在,字典不变
print('setdefault修改添加字典后:{}'.format(student))

结果:
在这里插入图片描述

2.keys函数:获取当前字典中所有的key(键)

用法:

  • dict.keys(),无需传参,返回一个key集合的伪列表
  • 伪列表:不具备列表的所有功能
  • 将伪列表转化成列表:使用list函数

例:

student = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典:{}'.format(student))

# 获取字典的key
student_key = student.keys()  # 获取的是一个伪列表
print('返回key:{},数据类型是:{}'.format(student_key,type(student_key)))
list_key = list(student_key)  # 将伪列表转化成列表
print('伪列表转化成列表:{},数据类型是:{}'.format(list_key,type(list_key)))

结果:
在这里插入图片描述

3.values函数:获取当前字典中所有的value(值)

用法:

  • dict.values(),无需传参,返回一个key集合的伪列表
  • 伪列表:不具备列表的所有功能
  • 将伪列表转化成列表:使用list函数

例:

student = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典:{}'.format(student))

# 获取字典的value
student_value = student.values()  # 获取的是一个伪列表
print('返回key:{},数据类型是:{}'.format(student_value,type(student_value)))
list_value = list(student_value)  # 将伪列表转化成列表
print('伪列表转化成列表:{},数据类型是:{}'.format(list_value,type(list_value))

结果:
在这里插入图片描述

4.根据key获取value

  • 方式一:dict[key],key不存在,会报错
  • 方式二:get函数,dict.get(key, default=None),default表示若key不存在,返回的默认值,这个值默认的是None,也可自定义一个值
  • 优先使用get函数

例:

student = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典:{}'.format(student))

# 根据key获取value
name1 = student['name']  # 使用[]方式获取
name2 = student.get('name')  # 使用get函数获取存在的key
study = student.get('study')  # 使用get函数获取存在的key
print('name是:{}'.format(name1))
print('name是:{}'.format(name2))
print('study是一个不存在的key:{}'.format(study))

# in可以判断key是否存在,这里可以使用get判断字典中的value是否存在
b = bool(student.get('name'))
print('name是否存在:{}'.format(b))

结果:
在这里插入图片描述

5.字典删除

  • clear函数:清空当前字典中所有数据;dict.clear(),无需传参,无返回值
  • pop函数:删除字典中指定的key,并将其结果返回,若key不存在则报错;dict.pop(key),key希望被删除的键,返回key对应的value
  • del函数:可删除整个字典,也可删除字典中某个键值对;del dict,del dict[key]

例:

student1 = {'name': 'update', 'age': 12, 'sex': '女'}
student2 = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典student1:{}'.format(student1))
print('字典student2:{}'.format(student1))

# clear()清空字典
student1.clear()  
print('清空字典student1后:{}'.format(student1))

# pop(),删除key和其对应的value
name_value = student2.pop('name')
print('字典中删除的name的value:{}'.format(name_value))
print('删除字典student2中的name后:{}'.format(student2))

# del,删除key和其对应的value
del student2['age']
print('删除字典student2中的age后:{}'.format(student2))

# del,删除字典
del student2

结果:
在这里插入图片描述

6.copy函数:将当前字典复制一个新的字典

用法:

  • dict.copy(),无需传参,返回一个内存地址不同但内容相同的字典

例:

student = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典:{}'.format(student))

# 拷贝字典
copy_student = student.copy() 

# 修改旧字典
student['name'] = 'angle'

# 旧的字典有改变
print('修改字典:{}'.format(student))
# 新的字典没有改变
print('copy_student字典:{}'.format(copy_student))

在这里插入图片描述

7.popitem函数:删除当前字典中末尾一组键值对并将其返回

用法:

  • dict.popitem(),无需传参,返回被删除的键值对,用元组包裹
  • 若字典为空,会报错

例:

student = {'name': 'update', 'age': 12, 'sex': '女'}
print('字典:{}'.format(student))

# 删除最后一个键值对
last = student.popitem()
print('最后一个键值对是:{}'.format(last))
print('删除最后一个键值对后:{}'.format(student))

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值