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 爬虫学习笔记之多线程爬虫
Sep 21 Python
Sanic框架应用部署方法详解
Jul 18 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
利用Python实现kNN算法的代码
Aug 16 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
django框架F&Q 聚合与分组操作示例
Dec 12 Python
python 消费 kafka 数据教程
Dec 21 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
python模拟实现分发扑克牌
Apr 22 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 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/02 国漫
第十节--抽象方法和抽象类
2006/11/16 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
python网络编程学习笔记(一)
2014/06/09 Python
python中self原理实例分析
2015/04/30 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python常用的爬虫技巧总结
2016/03/28 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
pandas值替换方法
2018/07/10 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
结构和类有什么异同
2012/07/16 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
银行职业规划书范文
2013/12/28 职场文书
挂职思想汇报
2013/12/31 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
小学班主任培训方案
2014/06/04 职场文书
社区娱乐活动方案
2014/08/21 职场文书
python绘制箱型图
2021/04/27 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
python函数的两种嵌套方法使用
2022/04/02 Python
vue打包时去掉所有的console.log
2022/04/10 Vue.js
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python