字典的基本操作

#字典的基本操作在很多方面与序列(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

原文地址:https://www.cnblogs.com/DLHe/p/7732302.html