python学习笔记:字典的使用示例详解


Posted in Python onJune 13, 2014

经典字典使用函数
dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典。当然dict成为函数不是十分确切,它本质是一种类型。如同list。

items=[('name','zhang'),('age',42)]
d=dict(items)
d['name']

len(d):返回项的数量
d[k]:返回键k上面的值。
d[k]=v:将k对应的值设置为k。
del d[k]:删除字典中的这一项。
k in d:检查d中是否含有键为k的项。注:只能查找键,不能查找值。
简单的电话本示例:

# A simple database
# A dictionary with person names as keys. Each person is represented as
# another dictionary with the keys 'phone' and 'addr' referring to their phone
# number and address, respectively.
people = {
    'Alice': {
        'phone': '2341',
        'addr': 'Foo drive 23'
    },
    'Beth': {
        'phone': '9102',
        'addr': 'Bar street 42'
    },
    'Cecil': {
        'phone': '3158',
        'addr': 'Baz avenue 90'
    }
}
# Descriptive labels for the phone number and address. These will be used
# when printing the output.
labels = {
    'phone': 'phone number',
    'addr': 'address'
}
name = raw_input('Name: ')
# Are we looking for a phone number or an address?
request = raw_input('Phone number (p) or address (a)? ')
# Use the correct key:
if request == 'p': key = 'phone'
if request == 'a': key = 'addr'
# Only try to print information if the name is a valid key in
# our dictionary:
if name in people: print "%s's %s is %s." % \
    (name, labels[key], people[name][key])

字典方法
clear:清除字典中的所有项。

x.clear()

copy:浅复制字典。

y=x.copy()

deepcopy:同样是复制,来看看和copy的区别。

from copy import deepcopy
d={}
d['names']=['as','sa']
c=d.copy()
dc=deepcopy(d)
d['names'].append('ad')

fromkeys:给指定的键建立新的字典,每个键默认对应的值为none.
{}.fromkeys(['name','age'])

get:更为宽松的访问字典项的方法。
d.get('name')

# A simple database using get()
# Insert database (people) from Listing 4-1 here.
labels = {
    'phone': 'phone number',
    'addr': 'address'
}
name = raw_input('Name: ')
# Are we looking for a phone number or an address?
request = raw_input('Phone number (p) or address (a)? ')
# Use the correct key:
key = request # In case the request is neither 'p' nor 'a'
if request == 'p': key = 'phone'
if request == 'a': key = 'addr'
# Use get to provide default values:
person = people.get(name, {})
label = labels.get(key, key)
result = person.get(key, 'not available')
print "%s's %s is %s." % (name, label, result)

has_key:检查字典中是否含有给定的键。d.haos_key()。值返回True ,False。

items:将所有字典项目一列表方式返回。

iteritems:方法大致相同,但是会返回一个迭代器而不是列表。

keys:将字典中的键以列表的方式返回。(注意区分和items的区别)

iterkeys:返回针对键的迭代器。

pop:获得对应给定键的值,然后将键-值对删除。

popitem:弹出一个随机的项,

setdefault:既能获得与给定键相关的值,又能在字典中不含有该键的情况下设定相应的键值。

update:用一个字典更新另一个字典。

d={'1':'d','2':'s','3':'a'}
x={'1','jk'}
d.update(x)

values:以列表的形式返回字典中的值。

itervalues:返回值得迭代器。

Python 相关文章推荐
python thread 并发且顺序运行示例
Apr 09 Python
Python greenlet实现原理和使用示例
Sep 24 Python
详尽讲述用Python的Django框架测试驱动开发的教程
Apr 22 Python
Python利用Nagios增加微信报警通知的功能
Feb 18 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
python装饰器实例大详解
Oct 25 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
Python应用领域和就业形势分析总结
May 14 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
python全面解析接口返回数据
Feb 12 Python
Python urlopen()函数 示例分享
Jun 12 #Python
python教程之用py2exe将PY文件转成EXE文件
Jun 12 #Python
Python struct模块解析
Jun 12 #Python
深度剖析使用python抓取网页正文的源码
Jun 11 #Python
python k-近邻算法实例分享
Jun 11 #Python
浅析python 内置字符串处理函数的使用方法
Jun 11 #Python
python使用正则表达式检测密码强度源码分享
Jun 11 #Python
You might like
php SQL防注入代码集合
2008/04/25 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
phpfpm的作用和用法
2019/10/10 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
详解Python字符串对象的实现
2015/12/24 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
大型晚会策划方案
2014/02/06 职场文书
库房管理员岗位职责
2014/03/09 职场文书
银行内勤岗位职责
2014/04/09 职场文书
租车协议书范本
2014/04/22 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
旷课检讨书
2015/01/26 职场文书
保送生自荐信范文
2015/03/26 职场文书
运动会新闻稿
2015/07/17 职场文书