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 random模块常用方法
Nov 03 Python
Python 正则表达式的高级用法
Dec 04 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
Nov 29 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
python实现俄罗斯方块小游戏
Apr 24 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
Python实现自动装机功能案例分析
Oct 22 Python
python制作抽奖程序代码详解
Jan 15 Python
python中对列表的删除和添加方法详解
Feb 24 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实现Ftp用户的在线管理
2012/02/16 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
python实现ftp客户端示例分享
2014/02/17 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python 爬虫的工具列表大全
2016/01/31 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Python3远程监控程序的实现方法
2019/07/15 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
Python的形参和实参使用方式
2019/12/24 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
心理健康课教学反思
2014/02/13 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
2019 入党申请书范文
2019/07/10 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android