摘要:
字典是Python中最常用和最灵活的数据结构类型了。字典与列表的主要区别:字典中的元素是通过键来存取,而列表是通过偏移存取。列表是有序的,字典是无序的。Python中的字典概念相当...
字典是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) | 删除指定键值,并返回value。如果key不存在可以指定默认返回值D.pop(key,"default")避免抛异常 |
del D[key] | 删除指定键值 |
D.update(D2) | 合并字典,类似列表的extend.如果有重复的key则覆盖值 |
list(D.keys()) | 字典实图(字典的key作为列表) python3 |
D.setdefault(key,default) | 如果key存在则返回value,如果不存在则添加键值 |
还没有评论,来说两句吧...