文档章节

Python学习之【字典】

 张树懒
发布于 2017/03/28 16:04
字数 710
阅读 7
收藏 0

字典:通过轻松查找某个特定的词语(键),从而找到它的定义(值)

如:phonebook = {'Alice':'2341','beth':'9102','Cecil':'3258'}

空字典:由两个大括号组成 {}

###一、基本字典操作

  • len(d)返回d中项(键-值对)的数量

  • d[k]返回关联到键k上的值

  • d[k]=v将值v关联到键k上

  • del d[k]删除键为k的项

  • k in d 检查d中是否有含有键为k的项

  • 键类型:可以是任意的不可变类型 (浮点型、字符串或者元组 )

  • 自动添加:即使键不存在字典中,也可以为它赋值

  • 成员资格:in 在字典中查找的是键[ k in d(d为字典)],在列表中查找的是值 [ v in l(l为列表)]

字典示例: 字典示例 运行示例

###二、字典方法

  • clear:清除字典中所有的项,无返回值

输入图片说明

  • copy:返回一个具有相同键-值对的新字典(副本替换值时原始字典不影响,修改某个值则原始字典随之改变)
>>x = {'username':'admin','machines':['foo','bar','baz']}
>>y = x.copy()
>>y['username'] = 'mlh'
>>y['machines'].remove('bar')
>>y
{'username':'mlh','machine':['foo','baz']}
>>x
{'username':'admin','machines':['foo','baz']}
  • fromkeys:使用给定的键建立新的字典,每个键都对应一个默认的值None
>>{}.fromkeys(['name','age'])
{'age':None,'name':None}
  • get:访问一个不存在的键时返回空,并可自定义默认值替换None;若键存在,则返回相应的值
>>print d.get('name')
None
>>d.get('name','N/A')
'N/A'
  • has_key:检查字典中是否含有特定的键(Python3.0中不包括)
>>d={}
>>d.has_key('name')
False
>>d['name']='Stone'
>>d.has_key('name')
True
  • items和iteritems:items将字典所有的项以列表的方式返回,没有遵循特定的次序;iteritems则返回迭代器对象
>>d = {'title':'Python Web Site','url':'http://www.python.org','spam':0}
>>d.items()
[('url':'http://www.python.org'),('spam':0),('title':'Python Web Site')]
  • keys和iterkeys:keys将字典中的键以列表形式返回;iterkeys则返回针对键的迭代器

  • pop:获得给定键的值,然后将这个键-值对从字典中移除

  • popitem:弹出随机的项(可用于 ‘一个接一个地移除并处理项’)

  • setdefault:能获得与给定键相关联的值(get);在字典中不含有给定键的情况下设定相应的键值

>>d={}
>>d.setdefault('name','N/A')
'N/A'
>>d
{'name':'N/A'}
>>d['name']='Stone'
>>d.setdefault('name','N/A')
'Stone'
>>d
{'name':'Stone'}
  • update:利用一个字典项更新另外一个字典(不同的项会被添加,相同的键会进行覆盖)
>>d = {
         'title':'Python Web Site',
         'url':'http://www.python.org',
         'changed':'Mar 14 22:09:15 MET 2008'
     }
>>x = {'title':'Python Language Website'}
>>d.update(x)
>>d
{'url':'http://www.python.org','changed':'Mar 14 22:09:15 MET 2008','title':'Python Language Website'}
  • values和itervalues:values以列表的形式返回字典中的值;itervalues返回值的迭代器(可包含重复的元素)
>>d = {}
>>d[1] = 1
>>d[2] = 2
>>d[3] = 3
>>d[4] = 1
>>d.values()
[1,2,3,1]

© 著作权归作者所有

粉丝 0
博文 2
码字总数 1518
作品 0
深圳
运维
私信 提问
手把手教你用Python爬中国电影票房数据

和很多同学接触过程中,我发现自学Python数据分析的一个难点是资料繁多,过于复杂。大部分网上的资料总是从Python语法教起,夹杂着大量Python开发的知识点,花了很多时间却始终云里雾里,不知...

急速奔跑中的蜗牛
05/22
0
0
Python教程:17个冷门但实用的小技巧

编者按:Python是机器学习的主流语言,没有之一。今年5月,它首次在PYPL排行榜上超越JAVA,成为全球第一大编程语言。而一个月后,Stack Overflow也分享了最新的编程语言浏览量统计数字,结果...

Python程序猿
2018/08/16
0
0
Python 数据挖掘学习 一 结巴分词

近期,想对古典小说进行索引,和知识挖掘,所以研究了下python数据挖掘方面的知识 Python安装 python学习 一 python语法,及变量类型 python学习 二 爬一个图片网站上 python学习 二 02 爬一...

shuilan0066
2018/01/22
0
0
分分钟钟学会Python - 数据类型

数据类型 1 整型(int) 整型的长度 py2中有:int/long 在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范围为-...

急速奔跑中的蜗牛
05/23
0
0
Python 入门之基本数据类型

为什么我要学习Python这门语言呢?其实很简单,我想拓展技术面的同时,尝试更多的方向,可能最后会不了了之,谁知道呢?有可能的话,我会向爬虫和数据分析这个方向走。所以也就开始了我的Pyt...

YJK923
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
64
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
26
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
43
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
27
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
昨天
44
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部