字符串 列表 元组 字典 集合-3.12字典常见操作

一、查(普通方式)

若访问不存在的键,则会报错

teacher_wang = {
    "name": "王老师",
    "age": 18,
    "home": "山东省青岛市",
    "web_site": "www.codetutor.top"
}

print(teacher_wang["QQ"])  # teacher_wang这个字典中没有QQ这个key

  

运行结果:程序崩溃

Traceback (most recent call last):
  File "/Users/codetutor.top/Desktop/代码/Python/07-字典.py", line 8, in <module>
    print(teacher_wang["QQ"])
KeyError: 'QQ'

  

二、查(get方式)

在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:

teacher_wang = {
    "name": "王老师",
    "age": 18,
    "home": "山东省青岛市",
    "web_site": "www.codetutor.top"
}

# 会出错,因为没有QQ这个key
# print(teacher_wang["QQ"])
print(teacher_wang.get("QQ", "没有QQ这个key"))

  

运行结果:没有就用默认值,程序不会崩溃

没有QQ这个key

  

三、改

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}

new_id = input('请输入新的学号:')
info['id'] = int(new_id)

print('修改之后的id为: %d' % info['id'])

  

结果:

请输入新的学号:1010
修改之后的id为: 1010

  

四、增

新的key以及value就表示添加一个新的键值对

即:如果在使用 变量名['键'] = 数据 时,这个“键”在字典中不存在,那么就会新增这个元素。

info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info)
info['web_site'] = "www.codetutor.top"  # 添加一个新的键值对
print(info)

  

结果:

{'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
{'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京', 'web_site': 'www.codetutor.top'}

  

五、删

对字典进行删除操作,有一下几种:

  • del
  • clear()

1. del删除指定的元素

info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info)

del info['address']

print(info)

  

结果

{'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
{'name': '班长', 'id': 100, 'sex': 'f'}

  

2. del删除整个字典

info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info)

del info

print(info)

  

结果

{'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
Traceback (most recent call last):
  File "/Users/codetutor.top/Desktop/代码/Python/08-字典常见操作.py", line 7, in <module>
    print(info)
NameError: name 'info' is not defined

  

3. clear清空整个字典

info = {'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}

print(info)

info.clear()

print(info)

  

结果

{'name': '班长', 'id': 100, 'sex': 'f', 'address': '地球亚洲中国北京'}
{}

  

posted @ 2021-12-14 10:45  dong4716138  阅读(20)  评论(0编辑  收藏  举报