字典

字典是Python中最常用和最灵活的数据结构类型了。字典与列表的主要区别:字典中的元素是通过键来存取,而列表是通过偏移存取。列表是有序的,字典是无序的。

Python中的字典概念相当于shell中的关联数组,还有perl中的hash列表,还好后两者概念在Python中也是等同于字典,这样概念就清晰了。key:value

总结下字典的一些特性:

  • 任意对象的无序集合
  • 通过键进行存取
  • 可变长、异构、任意嵌套
  • 属于可变映射类型:支持原处修改
  • 对象引用表(hash表):字典通过hash表(快速检索)实现

字符串转换成字典的一个场景:

a = '{"name": "电脑", "price": 1999}'

此时type(a)为str类型,如果想转换成dict类型,使用eval方法:

a = eval(a)

 

常见操作说明:

操作 说明 其它
D = {} 定义空字典. D.clear():清空字典  
D[key] = value 给字典添加一个键值对  
D = dict(name='Bob',age=19) 手动通过dict函数定义字典,如果已存在则覆盖  
D = dict(zip(keylist,valuelist)) 通过zip函数建立键值映射,然后通过dict函数构造字典  
key in D 测试key是否存在于字典中  
D[key1][key2] 获取对应key的value  
D.keys() 获取所有键的方法  
D.values() 获取所有值的方法  
D.items() 获取所有键值对,输出列表格式,  
D.get(key)

获取value,此方法比D[key]更适合,当key不存在默认返回空,当然也可以指定返回值,格式为D.get(key,default_value),

即当key存在时返回对应value,而不存在时则返回定义的默认值,而D[key]则会导致程序出错。

 
D.copy()  copy  
D.pop(key)  删除指定键值  
del D[key]  删除指定键值  
D.update(D2)  合并字典,类似列表的extend.如果有重复的key则覆盖值  
list(D.keys())  字典实图(字典的key作为列表) python3  
 D.setdefault(key,default)  如果key存在则返回value,如果不存在则添加键值  
posted @ 2018-05-01 03:40  念宗  阅读(185)  评论(0编辑  收藏  举报