python字典的常用操作方法小结


Posted in Python onMay 16, 2016

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

1.创建字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
技巧:
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。

2.访问字典里的值

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> print(dict['ob1'])
computer
如果用字典里没有的键访问数据,会输出错误如下:
>>> print(dict['ob4'])
Traceback (most recent call last):
 File "<pyshell#110>", line 1, in <module>
  print(dict['ob4'])

访问所有值
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> for key in dict1:
  print(key,dict1[key])  
ob3 printer
ob2 mouse
ob1 computer

3.修改字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> dict['ob1']='book'
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'book'}

4.删除字典

能删单一的元素
>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict['ob1']
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse'}

删除字典中所有元素 
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> dict1.clear()
>>> print(dict1)
{}


删除整个字典,删除后访问字典会抛出异常。
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict1
>>> print(dict1)
Traceback (most recent call last):
 File "<pyshell#121>", line 1, in <module>
  print(dict1)
NameError: name 'dict1' is not defined

5.更新字典

update()方法可以用来将一个字典的内容添加到另外一个字典中:
>>> dict1 = {'ob1':'computer', 'ob2':'mouse'}
>>> dict2={'ob3':'printer'}
>>> dict1.update(dict2)
>>> print(dict1)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'computer'}

6.映射类型相关的函数

>>> dict(x=1, y=2) 
{'y': 2, 'x': 1} 
>>> dict8 = dict(x=1, y=2) 
>>> dict8 
{'y': 2, 'x': 1} 
>>> dict9 = dict(**dict8) 
>>> dict9 
{'y': 2, 'x': 1} 
 
dict9 = dict8.copy()

7.字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住  
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> print(dict1)
{'ob2': 'mouse', 'ob1': 'printer'}
  
2)键必须不可变,所以可以用数,字符串或元组充当,用列表就不行
>>> dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
Traceback (most recent call last):
 File "<pyshell#125>", line 1, in <module>
  dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
TypeError: unhashable type: 'list'

8.字典内置函数&方法

Python字典包含了以下内置函数:
1、cmp(dict1, dict2):比较两个字典元素。(python3后不可用)
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

以上这篇python字典的常用操作方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python深入学习之上下文管理器
Aug 31 Python
Python标准异常和异常处理详解
Feb 02 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
详解小白之KMP算法及python实现
Apr 04 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
python数据类型可变不可变知识点总结
Mar 06 Python
Python操作Excel把数据分给sheet
May 20 Python
基于python实现删除指定文件类型
Jul 21 Python
关于python类SortedList详解
Sep 04 Python
浅析Python 中整型对象存储的位置
May 16 #Python
python字符类型的一些方法小结
May 16 #Python
浅谈Python 中整型对象的存储问题
May 16 #Python
Python对文件操作知识汇总
May 15 #Python
python实现SMTP邮件发送功能
Jun 16 #Python
详解Python函数作用域的LEGB顺序
May 14 #Python
python爬取51job中hr的邮箱
May 14 #Python
You might like
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
Vue3.0数据响应式原理详解
2019/10/09 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
python监控文件或目录变化
2016/06/07 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
python七夕浪漫表白源码
2019/04/05 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python能做哪方面的工作
2020/06/15 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
2015年元旦文艺汇演主持词
2014/03/26 职场文书
超市开店计划书
2014/09/15 职场文书
户籍证明模板
2014/09/28 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL