参考网址

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}