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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
Django实现快速分页的方法实例
Oct 22 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
python实现单链表的方法示例
Sep 03 Python
Python 依赖库太多了该如何管理
Nov 08 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
python实现简单学生信息管理系统
Apr 09 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
python 通过exifread读取照片信息
Dec 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
用户注册常用javascript代码
2009/08/29 Javascript
JavaScript 模拟用户单击事件
2009/12/31 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
python读取oracle函数返回值
2016/07/18 Python
python自定义异常实例详解
2017/07/11 Python
Python探索之自定义实现线程池
2017/10/27 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
python的依赖管理的实现
2019/05/14 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
大专护理专业自荐信
2015/03/25 职场文书
创业计划书之面包店
2019/09/17 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫