1、映射(mapping):通过名字引用值的数据结构。字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里。键可以是数字、字符串甚至是元组。

2、字典比较适用的情形:表征游戏棋盘的状态,每个键都是由坐标值组成的元组;存储文件修改次数,用文件名作为键;数字电话/地址簿

3、字典的创建和使用

  phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'},使用大括号,每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开

  空字典用{}

  dict函数,通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典

  item=[('name','Gumby'),('age',42)]

  d=dict(items)

  d={'age':42,'name':'Gumby'}

  d['name']='Gumby'

4、字典的基本操作

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

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

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

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

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

  键类型:字典的键不一定为整型;自动添加:即使那个键起初在字典中并不存在,也可以为它分配一个值;成员资格:k in d 查找的是键

5、字典的方法

  clear方法清除字典中所有的项。这个是原地操作,没有返回值(返回None)

  copy方法,返回一个具有相同键值对的新字典,为浅复制

  deepcopy 深复制,修改原始字典,不会修改后续复制的字典

  fromkeys使用给定的键建立新的字典,每个默认对应的值为None

  get方法是个更宽松的访问字典项的方法。get可以访问字典中不存在的项,返回None

  has_key检查字典中是否含有给出的键。d.has_key(k)相当于k in d

  items 将所有的字典项以列表方式返回(键,值)

  iteritems作用于items大致相同,但是返回一个迭代器对象而不是列表。iteritems更高效

  keys将字典的键以列表形式返回

  iterkeys返回针对键的迭代器

  pop方法用来获得对应于给定的值,然后将这个键-值对从字典中移除

  popitem方法类似于list.pop,后者会弹出列表的最后一个元素。但是不同的是,popitem弹出随机的项,因为字典并没有“最后的元素”或者其他顺序的概念。

  setdefault方法在某种程度上类似于get方法,就是能获得与给定键相关联的值,除此之外,setdefault还能在字典中不含有给定键的情况下设定相应的键值。当键不存在是,setdefault返回默认值并相应的更新字典,如果键存在,那么就返回与其对应的值,但不改变字典。默认值是可选的。不设定会默认为None.

  update方法可以利用一个字典项更新另外1个字典。提供的字典中的项会被添加到旧的的字典中,若有相同的键则会进行覆盖。

  values和itervalues 前者以列表的形式返回字典中的值,后者返回值得迭代器。与返回键的列表不同的是,返回键的列表中可以包含重复的元素。

  

  

  

  

python基础教程第4章——字典的更多相关文章

  1. python基础教程-第三章-使用字符串

    本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...

  2. Python基础教程笔记 第二章

    本章的名字虽然叫列表和元组,但是本章讲的最多的是列表,元祖指讲了很少的一部分.因为元组和列表很多方面都是一样的. 列表和元组的区别:列表可以被修改,元祖不可以被修改. python包含的6种内建序列: ...

  3. python基础教程第5章——条件循环和其他语句

    1.语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可穿件语句块.块中的每行都应该缩进同样的量.在Phyton中冒号(:)用来标识语句块的开始,块中 ...

  4. 《python基础教程》笔记之 字典

    字典创建 字典由多个键值对组成,每个键和对应值之间用冒号隔开,项之间用逗号隔开,而整个字典用一对大括号括起来,如 >>> phonebook={'alice':'0123', 'Be ...

  5. python基础教程第2章——列表与元组笔记

    1.序列是Python中最基本的数据结构.序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推.序列中的最后1个元素为-1,倒数第2个位-2. python中有 ...

  6. Python基础教程笔记 第一章

    /  表示整除,当导入_future_模块中的version时,/ 表示正常的的除法, 此时可用//表示整除,不论数字是整型还是浮点型,都可以用//表示整除. ** 表示幂次方  例如 2**3    ...

  7. 《Python基础教程》第一章:基础知识

    如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...

  8. python基础教程第6章——抽象

    1.函数的定义,使用def(或“函数定义”)语句: def hello(name): return ‘Hello.'+name+'!' def fibs(num): result=[0,1] for ...

  9. python基础教程第3章——字符串

    1.字符串格式化 字符串格式化操作符%+转换标志+最小字段宽度+点后跟精度值+转换类型 String模块提供另外一种格式化方式 from string import Template s=Templa ...

随机推荐

  1. unity3D射线检测敌人是否在前方

    //发射一条射线,去检测玩家是否在自己面前,用来随后的发射炮弹 bool isForward = false; var TranformShootPoint = ai.WorkingMemory.Ge ...

  2. HttpAsyncClient 的简单使用

    下载地址:http://hc.apache.org/downloads.cgi 在NetBeans中导入以下jar文件: 1:一次请求: public static void oneReuest(){ ...

  3. C#.NET利用ContextBoundObject和Attribute实现AOP技术--AOP事务实现例子

    我前两天看见同事用写了用AOP技术实现缓存的方案,于是好奇看了一下这是怎么实现的.原来是用了.NET中的一个类ContextBoundObject和Attribute相关技术.其实个类在.NET Fr ...

  4. Linux批量重命名

    http://blog.csdn.net/qm4050/article/details/8472464 http://www.jb51.net/article/33902.htm http://hi. ...

  5. explorer.exe进程简单介绍

    explorer.exe是Windows程序管理器或者Windows资源管理器,它用于管理Windows图形壳,包括开始菜单.任务栏.桌面和文件管理.不过也发现有大量的恶意病毒木马插入到explore ...

  6. 2015第16周六学习java建议

    学习Java 建议: 尽量用 google 查找技术资料. 有问题在 stackoverflow 找找,大部分都已经有人回答. 多看官方的技术文档. ibm developerworkers 的文章质 ...

  7. unix c 03

    C程序员的错误处理   errno/perror/strerror 都是系统设计好的   自定义函数中的错误处理    1 可以返回-1 代表错误    2 指针类型可以用 NULL 代表错误    ...

  8. OpenMeetings(3)----启动顺序解析

    OpenMeetings系统较大,代码量也不小,如果对前端的OpenLaszlo开发不熟悉的话,刚研究代码时,确实有种丈二和尚摸不着头脑的感觉.一番研究之后,终于初步理清了系统的初步动作流程,具体执行 ...

  9. ubuntu 14.04 下试用Sublime Text 3

    很多源代码都没有IDE支持的,尤其是开源的源代码.从github上下载的,很多也不用IDE.包括我自己公司的代码,基本都是脚本,也不用IDE.通常情况下,都是用notepad++.UE之类的文本编辑器 ...

  10. mycat(4)

    2016二月 24 置原 配置MyCat-eye 接下来在开始使用MyCat之前,我们先把监控平台部署好. 下载MyCat-eye项目,mvn打包. 之后得到类似于Mycat-web-1.0-SNAP ...