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读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
Python的Twisted框架上手前所必须了解的异步编程思想
May 25 Python
tensorflow获取变量维度信息
Mar 10 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
Django url 路由匹配过程详解
Jan 22 Python
Python读写Excel表格的方法
Mar 02 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
php模板原理讲解
2013/11/13 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
php5与php7的区别点总结
2019/10/11 PHP
Stop SQL Server
2007/06/21 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
js select option对象小结
2013/12/20 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
应届毕业生就业自荐信
2013/10/26 职场文书
汉语言文学职业规划
2014/02/14 职场文书
有创意的广告词
2014/03/18 职场文书
市场调查策划方案
2014/06/10 职场文书
师范生求职自荐信
2014/06/14 职场文书
公司转让协议书
2016/03/19 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技