1. 字典的创建
在python中字典又一个非常重要的数据类型和数据结构,它是另一种可变容器类型,可以储存任意类型的对象。
在python中字典是以键和值的形式存在的,即key:value;键和值用冒号:分开,一个key:value又叫一个键值对,每个键值对用逗号 ,隔开,所有的键值对都用一个大括号括{}括起来,如下
dict = {key1:value1,key2:value2,key3:value3,...,keyn:valuen}
在创建字典时要注意字典的以下特性:
- 字典的键必须是唯一的,当有同名的键时,值以后者为正确
- 字典的键必须是不可变的,所以一般数字,字符串或者元组作为字典的键,而像列表这种则不可以
2 . 字典操作
2.1 通过访问键来取值
2.2 增加、删除
增加,在增加时如原字典里已有该键名时,执行增加操作就会覆盖键原来的值,如下
删除一个键时用pop()方法,会返回被删除的值
2.3 修改键值,将要修改的值直接赋值给相应的键即可
2.4 合并字典
合并字典用update(dict)方法。在合并时如果被合并的字典有键与原字典键相同,则原字典键值将被更新
3. 遍历字典
在遍历前先看一个字典的方法dict.items():他的作用是将字典里面的键值对以为元组形式放到列表中,并返回这个列表,如下
3.1 遍历所有的键值对
利用items()进行遍历
3.2 遍历键,值
遍历键用keys()方法,遍历值用values()方法,作用和items()方法差不多,这里是将对应的键,值存放到列表中
4. 嵌套
4.1 字典与列表嵌套
嵌套一个langue列表,并访问列表里面的值
其中dic[‘langue’]返回的值键langue的值,它的值是一个列表,所以dic.langue[‘langue’][2]访问的列表里面的第三个值,即PHP
4.2 字典与字典的嵌套
嵌套一个‘其他’键值对
访问跟上面列表嵌套差不多
5.字典常用函数和方法
内置函数:
- len(dict):返回字典中键值对的个数
- type(variable):判断变量variable的类型
字典的常用方法: - dict.items():这个在上面已经说过了,以列表返回可遍历的(键, 值) 元组数组
- dict.get(key,default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值
- dic.setdefault(key,default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
- dict.keys():返回一个迭代器,可以使用 list() 来转换为列表
- dic.values():返回一个迭代器,可以使用 list() 来转换为列表
其他方法: - dic.clear():删除字典内所有元素
- dic.copy():返回一个字典的浅复制
- dic.pop(key,default):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
6.字典排序
可以用内置排序函数sorted()来对字典进行排序,格式如下
sorted(dict.items(), key=lambda x:x[0],reverse=False)
其中key=lambda x:x[0]是按键进行排序,key=lambda x:x[1]是按值进行排序;可以调整reverse的值进行升序或者降序,默认reverse=False,升序。
- 按key进行排序
- 按value进行升序排序
- 按value进行降序排列