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 基础学习教程
Feb 08 Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
Python 线性回归分析以及评价指标详解
Apr 02 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
基于Python正确读取资源文件
Sep 14 Python
python 实现全球IP归属地查询工具
Dec 18 Python
Python使用pyecharts控件绘制图表
Jun 05 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实现异步操作的研究
2013/02/03 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
php 可变函数使用小结
2018/06/12 PHP
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
Django框架安装方法图文详解
2019/11/04 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
转让协议书范本
2014/04/15 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
导游词范文
2015/02/13 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python