python之字典
来源:互联网 发布:卸载office2013软件 编辑:程序博客网 时间:2024/06/16 01:22
为什么需要字典
In [1]: list1 = ['name','age','class']In [2]: list2 = ['haha',14,'linux']In [3]: zip(list1,list2)Out[3]: [('name', 'haha'), ('age', 14), ('class', 'linux')]
zip函数可以将两个列表结合
字典就如中文字典,起到索引并快速找到想要的信息的作用,在python中,字典是python中唯一的映射类型,key-value对应类型,字典对象是可变的,但key必须用不可变对象,字典可以有效减少任务的繁琐
字典的定义
简单字典的创建
##字典的定义一般以{key:value}模式In [4]: dic = {'name':'cici','age':14}In [5]: type(dic)Out[5]: dict##字典的key索引,由于key是不可变对象,所以不可以用0,1.. 来索引,要用字符来索引In [6]: dic['name']Out[6]: 'cici'In [7]: dic[0]---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-7-c3244007d783> in <module>()----> 1 dic[0]KeyError: 0##由于value值是可变的,所以可以用位置参数来索引In [8]: dic['name'][0]Out[8]: 'c'
内建方法:fromkeys
字典中的key有相同的value值,默认为None
In [56]: dic.fromkeys([1,3,5,7])Out[56]: {1: None, 3: None, 5: None, 7: None}In [57]: dic.fromkeys([1,3,5,7],'hello')Out[57]: {1: 'hello', 3: 'hello', 5: 'hello', 7: 'hello'}
字典的访问
#直接通过key访问In [4]: dic = {'lixu':'123','mingm':'qwe3','kikio':'ada'}In [6]: dic['mingm']Out[6]: 'qwe3'
字典值的访问
循环遍历访问
In [1]: dic = {'name':'cici','age':4,'feel':'happy'}In [2]: for key in dic: ...: print dic[key] ...: happy4cici
字典的添加
dic[key] = value
由于字典是无序的,所以不能按照位置参数添加
In [4]: dicOut[4]: {'age': 4, 'feel': 'happy', 'name': 'cici'}In [5]: dic['gift']='doll'In [6]: dicOut[6]: {'age': 4, 'feel': 'happy', 'gift': 'doll', 'name': 'cici'}
字典的操作
In [11]: dicOut[11]: {'age': 4, 'feel': 'happy', 'gift': 'doll', 'name': 'cici'}In [12]: dic.dic.clear dic.has_key dic.itervalues dic.setdefault dic.viewkeysdic.copy dic.items dic.keys dic.update dic.viewvaluesdic.fromkeys dic.iteritems dic.pop dic.values dic.get dic.iterkeys dic.popitem dic.viewitems
常用方法
dic.get():如果key存在于字典中,返回对应value值
dic.keys():返回字典的所有key值
dic.has_keys():字典中是否存在某个key值
In [23]: dic = {'name':'cici','age':4,'feel':'happy'}In [24]: dic.get('name')Out[24]: 'cici'In [25]: dic.keys()Out[25]: ['feel', 'age', 'name']In [26]: dic.has_key(ss)---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-26-43113b712ec1> in <module>()----> 1 dic.has_key(ss)NameError: name 'ss' is not definedIn [27]: dic.has_key('name')Out[27]: True
删除
dic.pop(key)
根据key值删除字典的元素;
In [13]: dicOut[13]: {'age': 4, 'feel': 'happy', 'gift': 'doll', 'name': 'cici'}In [14]: dic.pop('gift')Out[14]: 'doll'In [15]: dicOut[15]: {'age': 4, 'feel': 'happy', 'name': 'cici'}
dic.popitem()
随机删除字典元素,返回(key,value)
In [15]: dicOut[15]: {'age': 4, 'feel': 'happy', 'name': 'cici'}In [16]: dic.popitem()Out[16]: ('feel', 'happy')In [17]: dic.popitem()Out[17]: ('age', 4)In [18]: dicOut[18]: {'name': 'cici'}
dic.clear()
删除字典中的所有元素
In [18]: dicOut[18]: {'name': 'cici'}In [19]: dic.clear()In [20]: dicOut[20]: {}
del dic
删除字典本身
In [20]: dicOut[20]: {}In [21]: del(dic)In [22]: dic---------------------------------------------------------------------------NameError Traceback (most recent call last)<ipython-input-22-1b445b6ea935> in <module>()----> 1 dicNameError: name 'dic' is not defined
阅读全文
0 0
- Python 之字典小结
- Python学习之字典
- python之字典操作
- Python数据类型之字典
- Python学习之字典
- Python 中之字典
- python自学之字典
- python基础之字典
- Python 学习之字典
- Python映射之字典
- python之字典
- python之字典
- python之字典
- Python之字典
- Python笔记之字典
- Python之字典
- python学习之字典
- Python学习之字典
- 21th 【动态规划】路面修整
- 微信小程序支付接口调用
- 8访问数据库
- python 高阶函数
- 初学Android的一些布局
- python之字典
- HDU 6005
- InnoDB调优-分区表
- Python学习笔记之文件(二)
- 爬虫1
- 阿里云弹性负载均衡SLB
- 递归函数--实现打印目录下的文件
- 选项卡react-native-scrollable-tab-view(入门篇)
- 堆的插入与删除,上浮与下沉