Python中的字典
1.一个简单的字典
当我们有一堆人的名字和他们的年龄时,我们就可以用字典进行存储:
如图,这就是一个字典。
2.使用字典
在Python中,字典是一系列的键-值对。每个键都有对应的值,我们可以通过键来访问与其关联的值。与键关联的值可以是数字,字符串,列表,甚至是字典,可以说任何的对象都可以作为值。
在Python中,字典定义在花括号中({ })。
2.1 访问字典中的值
我们可以通过键访问与其对应的值。
2.2 添加键-值对
字典和列表一样都是一种动态结构,可以随时往里面添加键-值对。要添加键值对,只需要指定字典名,方括号里面写要添加的键,等号后面写值即可。
2.3 创建一个空字典
实际应用中,我们可以先创建一个空的字典,然后往里面添加新的键-值对。
2.4 修改字典中的值
我们可以直接指定字典中的某一个键,然后直接修改它对应的值。
2.5 删除键-值对
我们可以用del语句将字典中不需要的键值对删除
删除的键值对会永远删除。
2.6 一个例子
我们要调查大家最喜欢的编程语言,创建一个字典,每个键为人的名字,值为这个人最喜欢的编程语言。
3.遍历字典
我们可以像遍历列表那样用for循环遍历字典。
3.1 遍历所有的键-值对
还是上面的例子。
我们可以使用字典中的items()方法,items()会返回字典的键值对列表,for循环中我们定义两个变量,一个用来存储姓名(键),一个用来存储语言(值)。
注意:Python不关心键值对的存储顺序,因此遍历的顺序可能会与存储顺序不同。
3.2 遍历字典中的所有键
字典中的keys()函数可以返回字典中所有的键组成的列表。
3.3 按顺序遍历字典中的所有键
虽然Python在遍历字典的时候不会考虑按照存储顺序遍历,但是我们可以用sorted方法将其排序。
3.4遍历字典中的所有值
字典中的values()方法会返回字典中所有值组成的列表。
假设我们要获取刚才列表中最喜欢的语言的集合:
但是我们也注意到,在这个值的列表里可以会出现重复。因此我们可以使用set(集合),set中不会有重复的元素,我们可以用set方法将列表转换为集合。
我们可以看到这样就不会出现重复了。
4.嵌套
我们可以在列表中嵌套字典,也可以在字典中嵌套列表,甚至可以在字典中嵌套字典。
4.1 字典列表
列表中每个元素都是字典,我们把这个列表称为字典列表。
假设,我们收集了一些人的个人信息,用字典存储,然后我们把所有人放入一个列表中,这个列表就是字典列表。
如图,我们遍历字典列表,然后在每次遍历中再遍历这个字典。
4.2 在字典中存储列表
有时候,我们需要把列表作为值存储在字典中。
例如:我们收集了一些同学的名字,及他们喜欢的课程。我们可以定义一个字典,同学们的名字就是字典的键,每个人对应喜欢的课程我们可以作为一个个列表存入值中。
4.3 在字典中存储字典
我们可以在字典中嵌套字典,用法和上面两个一样。
假设我们收集了一些用户的信息,定义一个用户字典,用户字典中的键是用户名,用户字典中的值是该用户的一些信息。