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共享引用(多个变量引用)示例代码
Dec 04 Python
老生常谈Python进阶之装饰器
May 11 Python
Python类装饰器实现方法详解
Dec 21 Python
Python Django Cookie 简单用法解析
Aug 13 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
python删除文件、清空目录的实现方法
Sep 23 Python
python如何用matplotlib创建三维图表
Jan 26 Python
python如何为list实现find方法
May 30 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源代码数组统计count分析
2011/08/02 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
javascript some()函数用法详解
2014/11/13 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
javascript 闭包疑问
2010/12/30 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python对数组进行反转的方法
2015/05/20 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
python实现两张图片的像素融合
2019/02/23 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python实现不规则图形填充的思路
2020/02/02 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
sort命令的作用和用法
2013/08/25 面试题
八项规定整改措施
2014/02/12 职场文书
初中班主任评语大全
2014/04/24 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
人代会简报
2015/07/21 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
web前端之css水平居中代码解析
2021/05/20 HTML / CSS