本文作者:念宗

字典

念宗 7年前 ( 2017-11-20 ) 3579 抢沙发
摘要: 字典是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,如果不存在则添加键值


























文章版权及转载声明:

作者:念宗本文地址:http://pyops.net/?id=17发布于 7年前 ( 2017-11-20 )
文章转载或复制请以超链接形式并注明出处运维之道

分享到: 网站分享代码

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,3579人围观)参与讨论

还没有评论,来说两句吧...