《python基础教程(第二版)》学习笔记 字典(第4章)
创建字典:
d={'key1':'value1','key2':'value2'}
lst=[('key1','value1'),('key2','value2')]; d=dict(lst)
d=dict(key1='value1', key2='value2')
字典基本操作:
d={'key1':'value1','key2':'value2'}; len(d) ==> 2 #字典中的键值对数量
d={'key1':'value1','key2':'value2'}; d['key1'] ==> 'value1' # 键为k的值
d={'key1':'value1','key2':'value2'}; d['key1']='NewValue' ==> 'key1': 'NewValue' # 赋值
d={'key1':'value1','key2':'value2'}; del d['key2'] ==> d={'key1': 'value1'} #删除键为k的项
d={'key1':'value1','key2':'value2'}; 'key1' in d ==> True #检查字典中是否有键k

字典的格式化字符串:
d={'key1':'value1','key2':'value2'};   "%(key1)" % d  ?????

字典方法:
d={'key1':'value1','key2':'value2'}; d.clear() ==> d={} # 清除全部项
d={'key1':'value1','key2':'value2'}; d.copy() # 复制
from copy import deepcopy; d={'key1':'value1','key2':'value2'}; deepcopy(d) # 深度复制
{}.fromkeys(['key1','key2']) ==> {'key2': None, 'key1': None} #创建字典
d={'key1':'value1','key2':'value2'}; d.get('key1') ==> 'value1' #获得值
d={'key1':'value1','key2':'value2'}; d.has_key('key1') ==> True #是否有该键
d={'key1':'value1','key2':'value2'}; d.items() ==> [('key2', 'value2'), ('key1', 'value1')] # 全部项
d={'key1':'value1','key2':'value2'}; d.iteritems() # 迭代全部项
d={'key1':'value1','key2':'value2'}; d.keys() ==> ['key2', 'key1'] #全部键
d={'key1':'value1','key2':'value2'}; d.iterkeys() #迭代全部键
d={'key1':'value1','key2':'value2'}; d.pop('key1') ==>'value1', d={'key2': 'value2'} #移除并pop key1
d={'key1':'value1','key2':'value2'}; d.popitem() ==> ('key2', 'value2'), d={'key1': 'value1'} #移除并pop?
d={'key1':'value1','key2':'value2'}; d.setdefault('key1','defaultValue1') ==> 'value1' #类似于get,如果没有则设置缺省值
d={'key1':'value1','key2':'value2'}; x={'key2':'UPDATE'}; d.update(x) ==> d={'key2': 'UPDATE', 'key1': 'value1'} #用一个字典更新另一个字典
d={'key1':'value1','key2':'value2'}; d.values() ==> ['value2', 'value1'] #全部值
d={'key1':'value1','key2':'value2'}; d.itervalues() # 迭代全部值

len(d) #字典元素个数/长度

遍历字典:

#!/usr/bin/python
    dict={"a":"apple","b":"banana","o":"orange"}
     
    print "##########dict######################"
    for i in dict:
            print "dict[%s]=" % i,dict[i]
     
    print "###########items#####################"
    for (k,v) in  dict.items():
            print "dict[%s]=" % k,v
     
    print "###########iteritems#################"
    for k,v in dict.iteritems():
            print "dict[%s]=" % k,v
     
    print "###########iterkeys,itervalues#######"
    for k,v in zip(dict.iterkeys(),dict.itervalues()):
            print "dict[%s]=" % k,v

《python基础教程(第二版)》学习笔记 字典(第4章)的更多相关文章

  1. <<Python基础教程>>学习笔记 | 第04章 | 字典

    第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中.键能够使字符.数字.或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每一个键都是由坐标值组 ...

  2. Jquery基础教程第二版学习记录

    本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...

  3. <<Python基础教程>>学习笔记 | 第10章 | 充电时刻

    第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简 ...

  4. <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面

    Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...

  5. 第二章、元组和列表(python基础教程第二版 )

    最基本的数据结构是序列,序列中每个元素被分配一个序号-元素的位置,也称索引.第一个索引为0,最后一个元素索引为-1. python中包含6种内建的序列:元组.列表.字符串.unicode字符串.buf ...

  6. python基础教程第二版 第一章

    1.模块导入python以增强其功能的扩展:三种方式实现 (1). >>> Import math >>> math.floor(32.9) 32.0 #按照 模块 ...

  7. <<Python基础教程>>学习笔记 | 第11章 | 文件和素材

    打开文件 open(name[mode[,buffing]) name: 是强制选项,模式和缓冲是可选的 #假设文件不在.会报以下错误: >>> f = open(r'D:\text ...

  8. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  9. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  10. python cookbook第三版学习笔记十:类和对象(一)

    类和对象: 我们经常会对打印一个对象来得到对象的某些信息. class pair:     def __init__(self,x,y):         self.x=x         self. ...

随机推荐

  1. Ubuntu 16.04主题美化和软件推荐

    http://www.linuxidc.com/Linux/2016-09/135165.htm http://www.techweb.com.cn/network/system/2015-11-20 ...

  2. stage3D基础三------什么是AGAL(转)

    原文链接 http://www.adobe.com/cn/devnet/flashplayer/articles/hello-triangle.html 在本文中,你将研究一个能够正常运行的基于Sta ...

  3. kafka 配置kerberos校验以及开启acl实践

    转载请注明原创地址:http://www.cnblogs.com/dongxiao-yang/p/7131626.html kafka从0.9版本以后引入了集群安全机制,由于最近需要新搭建一套kafk ...

  4. SpringCloud如何配置Eureka授权

    现在已经成功的实现了一个Eureeka的服务启动以及微服务的注册配置操作,但是现在的程序有一个问题,你自己公司的Eureka服务应该可以注册的服务只能够是满足于认证要求的微服务,所有这样来在之前所进行 ...

  5. python的requests初步使用

    转自:http://my.oschina.net/yangyanxing/blog/280029 早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urll ...

  6. hdu - 5033 - Building(单调栈)

    题意:N 幢楼排成一列(1<=N<=10^5),各楼有横坐标 xi(1<=xi<=10^7) 以及高度 hi(1<=hi<=10^7),在各楼之间的Q个位置(1&l ...

  7. Android Java 线程池 ThreadPoolExecutor源代码篇

    线程池简单点就是任务队列+线程组成的. 接下来我们来简单的了解下ThreadPoolExecutor的源代码. 先看ThreadPoolExecutor的简单类图,对ThreadPoolExecuto ...

  8. mysql使用存储过程制造测试数据

    DELIMITER $$ DROP PROCEDURE IF EXISTS message_insert_procedure; CREATE PROCEDURE `test`.`message_ins ...

  9. 杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fpc2luaV92Yw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  10. elipse开发环境搭建(Java+C++)

    目的:搭建可用于java和C++开发的eclipse开发环境. 步骤: 1.安装JDK(Java Development Kit):JDK包含了java掩饰程序和样例.Java公共API类的源代码.J ...