飞道的博客

Python序列之字典

355人阅读  评论(0)

字典中的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'

转载:https://blog.csdn.net/midion9/article/details/105813861
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场