Python学习笔记-字典
<1>根据键访问值
info = {'name': '小明', 'id': 100, 'sex': 'f', 'address': '中国北京'} print(info['name']) print(info['address'])
运行结果
小明
中国北京
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值
age = info.get('age') print(age) #'age'键不存在,所以age为None print(type(age)) age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18 print(age)
运行结果
None <class 'NoneType'> 18
<2>修改元素
newId = input('请输入新的学号') info['id'] = int(newId) print('修改之后的id为%d:'%info['id'])
运行结果
请输入新的学号123
修改之后的id为123:
<3>添加元素
info = {'name':'小明', 'sex':'f', 'address':'中国北京'} print('id为:%d'%info['id'])
运行结果
Traceback (most recent call last): File "E:/PycharmProjects/train/tupletest.py", line 42, in <module> print('id为:%d'%info['id']) KeyError: 'id'
如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
info = {'name':'小明', 'sex':'f', 'address':'中国北京'} # print('id为:%d'%info['id']) newId = int(input('请输入新的学号')) info['id'] = newId print('添加之后的id为:%d'%info['id'])
运行结果
请输入新的学号188
添加之后的id为:188
<4>删除元素
对字典进行删除操作,有一下几种:
- del
- clear()
print('删除前,%s'%info['name']) del info['name'] print('删除后,%s'%info['name'])
运行结果
删除前,小明 Traceback (most recent call last): File "E:/PycharmProjects/train/tupletest.py", line 49, in <module> print('删除后,%s'%info['name']) KeyError: 'name
删除后不可访问,所以会报错
删除整个字典
print('删除前,%s'%info) del info print('删除后,%s'%info)
运行结果
删除前,{'name': '小明', 'sex': 'f', 'address': '中国北京'} Traceback (most recent call last): File "E:/PycharmProjects/train/tupletest.py", line 53, in <module> print('删除后,%s'%info) NameError: name 'info' is not defined
clear清空整个字典
print('清空前,%s'%info) info.clear() print('清空后,%s'%info)
运行结果
清空前,{'name': '小明', 'sex': 'f', 'address': '中国北京'} 清空后,{}
<5>len()
测量字典中,键值对的个数
<6>keys
返回一个包含字典所有KEY的列表
<7>values
返回一个包含字典所有value的列表
<8>items
返回一个包含所有(键,值)元组的列表