#字典的基本操作在很多方面与序列(sequence)类似,支持修改、删除等操作。
1、修改字典
1 #向字典添加新内容的方法是增加新键/值对,修改或删除已有键/值对,例: 2 >>> student={'小明':'1001','小智':'1002','小李':'1003'} 3 >>> student['小李']='1005' #更新小李的学号为1005 4 >>> print('小李的学号是:%(小李)s'%student) 5 小李的学号是:1005 6 >>> student['小何']='1006' #新增一个小何的学生 7 >>> print('小何的学号是:%(小何)s'%student) 8 小何的学号是:1006 9 #由输出结果看到,修改和添加均操作成功。
2、删除字典元素
1 #此处的删除指的是显式删除,显式删除一个字典用del命令,示例: 2 >>> student={'小明':'1001','小智':'1002','小李':'1005','小何':'1006'} 3 >>> print('删除前:',student) 4 删除前: {'小明': '1001', '小智': '1002', '小李': '1005', '小何': '1006'} 5 >>> del student['小智'] 6 >>> print('删除后:',student) 7 删除后: {'小明': '1001', '小李': '1005', '小何': '1006'} 8 #由输出结果看到,对应键/值被正确删除了。 9 #除了删除键,还可以删除整个字典,例如: 10 >>> student={'小明':'1001','小李':'1005','小何':'1006','小智':'1007'} 11 >>> print('删除前:',student) 12 删除前: {'小明': '1001', '小李': '1005', '小何': '1006', '小智': '1007'} 13 >>> del student 14 >>> print('删除后:',student) 15 Traceback (most recent call last): 16 File "<pyshell#35>", line 1, in <module> 17 print('删除后:',student) 18 NameError: name 'student' is not defined 19 #由输出结果看到,删除字典后就不能对字典进行访问了,因为执行del操作后字典就不存在了,因而会报变量没有定义的错误。
3、字典键的特性
1 #字典值可以没有限制地取任何python对象,既可以是标准对象,也可以是用户定义的对象,但键不行。 2 #需注意的有两点: 3 ①:不允许同一个键出现两次。创建时如果同一个键被赋值两次,后面的值会被记住,例如: 4 >>> student={'小明':'1001','小智':'1002','小明':'1003'} 5 >>> print('学生信息:',student) 6 学生信息: {'小明': '1003', '小智': '1002'} 7 #由输出结果看到,一个键被赋值两次,只会记住后面的值。 8 ②:键必须不可变,可以用数字、字符串或元组充当,不能用列表,例如: 9 >>> target={'[name]':'小明','[number]':'1001'} 10 >>> target 11 {'[name]': '小明', '[number]': '1001'} 12 >>> del target 13 >>> target={['name']:'小明',['number']:'1001'} 14 Traceback (most recent call last): 15 File "<pyshell#41>", line 1, in <module> 16 target={['name']:'小明',['number']:'1001'} 17 TypeError: unhashable type: 'list' 18 #由输出结果看到,不能用列表做键,会提示类型错误。
4、len函数
1 #len(dict)函数用于计算字典元素的个数,即键的总数,例如: 2 >>> student={'小明':'1001','小智':'1002','小强':'1003','小刚':'1004'} 3 >>> print('学生总数:',len(student)) 4 学生总数: 4 5 #由输出结果看到,字典元素的个数为4.
5、type函数
1 #type(variable)函数返回输入的变量类型,如果输入变量是字典就返回字典类型,例如 2 >>> student={'小明':'1001','小智':'1002','小强':'1003','小刚':'1004'} 3 >>> print('字典的类型为:',type(student)) 4 字典的类型为: <class 'dict'> 5 #由输出结果看到,类型为(dict)。
end