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内置的字符串处理函数详细整理(覆盖日常所用)
Aug 19 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python连接mongodb密码认证实例
Oct 16 Python
Python 加密与解密小结
Dec 06 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
python Tkinter的图片刷新实例
Jun 14 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
jupyter notebook清除输出方式
Apr 10 Python
Django封装交互接口代码
Jul 12 Python
Python改变对象的字符串显示的方法
Aug 01 Python
python实现双人五子棋(终端版)
Dec 30 Python
python3 字符串str和bytes相互转换
Mar 23 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/05/13 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
IE图片缓存document.execCommand("BackgroundImageCache",false,true)
2011/03/01 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
javascript 闭包详解
2015/07/02 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
python中的内置函数getattr()介绍及示例
2014/07/20 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
Python3分析处理声音数据的例子
2019/08/27 Python
django使用graphql的实例
2020/09/02 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
先进工作者推荐材料
2014/12/23 职场文书
开场白怎么写
2015/06/01 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL