Python序列之字典

字典中的key必须是可散列序列,例如可以用数字、字符串或元组,但不能用列表.

1、可散列序列

可散列序列需满足以下三个条件:

  1. 该序列必须是可hash的,内部实现了__hash__方法
  2. 该序列必须是可比较的,内部实现了__eq__方法
  3. 该序列必须是不可变的,比如元组、数字、字符串、实现了只读属性的类

字典通过key在内部建立了hash表,通过hash表进行key的匹配,采用的是空间换时间的方式,占用内存大,但查询速度快,查询速度和体积关系不大。

2、创建字典

(1)从列表创建字典

dict.fromkeys(list[,value=None]) 

创建一个以list中的各个元素为key,值为value的列表,其中value可省略,默认为None

keylist=['a','b','c']

mydict = dict.fromkeys(keylist)

创建只有key,而value为None的字典:dict.fromkeys(list)

(2)从元组或列表创建字典

mytuplelist=[('a'

你可能感兴趣的:(Python入门基础)