python的字典
2015-07-06 16:09
741 查看
1.clear()用于清除字典中的所有项
下面有两端代码,为什么第一段代码能够清除字典内容而第二段不行?
通过给x赋空值的方法:
>>> x={} >>> y=x >>> x['username']='yelin' >>> y {'username': 'yelin'} >>> x={} >>> y {'username': 'yelin'}
通过clear()函数:
>>> x={} >>> y=x >>> x['username']='yelin' >>> y {'username': 'yelin'} >>> x.clear() >>> y {}
2.浅复制(copy)和深复制(deepcopy)
使用浅复制时,在副本中替换值,原字典不会更改。但是修改值,原字典也会一起改变。>>> x={'username':'yelin','hobby':['food','travle','game']} >>> y=x.copy() >>> y['username']='tom' >>> y['hobby'].remove('food') >>> y {'username': 'tom', 'hobby': ['travle', 'game']} >>> x {'username': 'yelin', 'hobby': ['travle', 'game']}
采用深复制的情况下,原字典产生增删操作时,副本不会有变化
>>> from copy import deepcopy >>> x={'username':'yelin','hobby':['food','travle','game']} >>> y=x.deepcopy() >>> y=deepcopy(x) >>> z=x.copy() >>> x['hobby'].remove('food') >>> y {'username': 'yelin', 'hobby': ['food', 'travle', 'game']} >>> z {'username': 'yelin', 'hobby': ['travle', 'game']}
3.fromkeys的使用
>>> {}.fromkeys(['name','age']) {'age': None, 'name': None}
也可以通过fromkeys设置默认的空值
4.get方法
get()用于取出字典中的键值>>> x={'username':'yelin','age':21} >>> x {'username': 'yelin', 'age': 21} >>> x.get('username') 'yelin' >>>
5.has_key
has_key和in的作用一样6.items和iteritems
items返回的结果是无序的>>> d={'title':'Python Web Site','url':'http://www.python.org','spam':0} >>> d.items() [('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')]
iteritems返回的是一个迭代器对象,遍历的效率更加高效。
>>> it=d.iteritems() >>> it <dictionary-itemiterator object at 0xb711b0a4> >>> list(it) [('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')]
7.pop
pop使用后,会显示被弹出的值,然后字典中就不存在该键值。>>> x={'a':1,'b':2,'c':3} >>> x.pop('b') 2 >>> x {'a': 1, 'c': 3}
8.popitem
popitem用于弹出随机的项,该方法用于清除所有项是非常有效的。>>> x={'a':1,'b':2,'c':3} >>> x.popitem() ('a', 1) >>> x.popitem() ('c', 3) >>> x.popitem() ('b', 2) >>> x {}
9.update
update可以将键值对更新到字典中,顺序一般都是插入到字典最后。>>> d={'a':'yelin','b':'tom','c':'John'} >>> x={'b':'Peter'} >>> d.update(x) >>> d {'a': 'yelin', 'c': 'John', 'b': 'Peter'}
10.values
values()和itervalues()返回的值不同的是,values()返回的值可以是重复的.>>> d={} >>> d[1]=1 >>> d[2]=2 >>> d[3]=3 >>> d[4]=4 >>> d {1: 1, 2: 2, 3: 3, 4: 4}
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法
- Python实现的基于ADB的Android远程工具