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中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
python使用KNN算法手写体识别
Feb 01 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 Python
python实现会员信息管理系统(List)
Mar 18 Python
Python内置包对JSON文件数据进行编码和解码
Apr 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判断字符串长度的两种方法很实用
2015/09/22 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
YII框架常用技巧总结
2019/04/27 PHP
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
vue.js的安装方法
2017/05/12 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
python数字类型math库原理解析
2020/03/02 Python
python如何进行矩阵运算
2020/06/05 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
市场营销专业个人自荐信格式
2013/09/21 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
普通话宣传标语
2014/06/26 职场文书
酒店端午节活动方案
2014/08/26 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
物业保洁员管理制度
2015/08/05 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书