《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. redis 的安装与启动

    1.redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis 是一个高性能的key-val ...

  2. 1.5.2 WHERE子句

    1.5.2 WHERE子句正在更新内容,请稍后

  3. 当半年不碰的webpack + vuejs项目重见天日时遇到的神坑!

    半年前的Vuejs项目,由于webpack环境一直是1.0的(现在是webpack4.0),倒不是说不会升级或者不敢升级. 总而言之.在我再次启动这个项目时: npm run dev / npm ru ...

  4. Git--Bug解决篇

    Git--公司bug解决篇 作为程序员,我们时常遇到这样的场景,公司的产品上线了,程序员们美滋滋的开始开发新功能希望得到更多的流量.这时候,公司上线的产品发生了很严重的bug,可是我们已经在这个bug ...

  5. 浅谈"壳"(一)

    壳,即坚硬的外皮,当壳的厚度与其曲面率半径的比值小于0.5时.称为"薄壳".反之称为"厚壳".由壳演化来的胸甲,盾牌. 在计算机这个注重创意又不失从文化科技中汲 ...

  6. 从Java视角理解CPU缓存和伪共享

    转载自:http://ifeve.com/from-javaeye-cpu-cache/               http://ifeve.com/from-javaeye-false-shari ...

  7. php正則表達式中的非贪婪模式匹配的使用

    php正則表達式中的非贪婪模式匹配的使用 通常我们会这么写: $str = "http://www.baidu/.com? url=www.sina.com/"; preg_mat ...

  8. 内核源码之Kconfig和Makefile

    转自:http://www.cnblogs.com/image-eye/archive/2011/08/28/2156005.html 内核源码之Kconfig和Makefile Linux内核源码树 ...

  9. android.util.AndroidRuntimeException Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? com.uethinking.microvideo.manag

    记录学习,网络摘抄 碰到这个异常其实这个上面说的很清楚,加个flag 从一个Activity中要通过intent调出另一个Activity的话,需要使用 FLAG_ACTIVITY_NEW_TASK ...

  10. mac地址绑定

    1.导入第三方类库: <?php /** * FILE_NAME : Macaddr.php * linux平台获取服务器mac地址 * @filesource */ class Macaddr ...