Python 05:Python字典类型
Python字典类型
介绍
在java中Map数据结构可以存储任意数据类型,同样Python中字典就是扮演这个角色的数据结构。
字典:不同语言的叫法不同,比较常听的称谓是映射、字典、key-value键值对。
由于字典/映射都是通过hash算法实现的,所以其存储和查询速度很快,但是由于无序存储所以导致遍历也不是很方便,并且为了要维护hash值导致会更耗内存,但对现代计算机而言通常会选择空间换时间。
字典的本质就是key-value键值对,key必须唯一。
注意,Python中你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。
字典(dict)使用
申明和初始化
tel={"xuyi":"1878925XXX","ranran":"1389783XXX"}
访问key对应的value值
tel["ranran"] # "1389783XXX"
新增key-value键值对
tel["zhangsan"] = "110" # 如果key已经存在那么回覆盖原来的value
删除key-value键值对
del["zhangsan"] # 如果key不存在会报错,所以删除前应该先检查key是否存在字典中
查询key是否存在字典中
"xuyi" in tel # 存在放回True,否则返回False
字典的遍历
for key in tel:
print("key:"+key)
print("value:"+value)
备注:在开发中字典的使用可能就仅次于list列表数据结构,很多场景下我们都可以使用字典来处理问题。
总结
字典本质就是key-value键值对,通常key使用的是不可变的类型数据,对比java中的HashMap可以理解的更深刻。(由于本人是有开发java的经历,所以学习python时会经常和java对比)
备注:除了以上列举的方法,字典还有很多其它方法,更多方法请参考文档或源码
参考
1、https://docs.python.org/3/library/stdtypes.html#mapping-types-dict
2、http://www.ibiblio.org/swaroopch/byteofpython/read/dictionary.html
还没有评论,来说两句吧...