参考网址
https://blog.csdn.net/weixin_35688430/article/details/107733810
前言
- 字典以键值对形式存在:{ key: value }
- 其中key值会进行hash运算,生成hash表,所以字典的访问效率要优于普通序列数据类型(列表,元组)
- key值由于需要通过hash,则一些可变数据类型不可以做key值,而value的类型没有限制,可以是任意数据类型
- 由于进行了hash运算,那么在内存中字典其中的数据元素是无序的,没有办法进行一些像索引和切片一样的操作
- (但是在Python3.6后,字典数据类型已经被更改为有序数据类型;from collections import OrderedDict
- 字典中的key值是唯一的
- 字典为可变数据类型
特性
- 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
常用方法解析
- 新建字典
>>> mydict = dict(([1,'a'],[2,'b'])) # 这种方式也是可以的
>>> mydict
{1: 'a', 2: 'b'}
>>> mydict = dict(name='JimGreen',age=20) # 常用这种方式
>>> mydict
{'name': 'JimGreen', 'age': 20}