《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. python常见面试题(二)

    1. 到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需 ...

  2. atititi.soa  微服务 区别 联系 优缺点.doc

    atititi.soa  微服务 区别 联系 优缺点.doc 1. 应用微服务的动机,跟传统巨石应用的比较1 2. 面向服务架构(SOA)  esb2 3. 微服务架构(Microservices)2 ...

  3. NFS详细分析

    1. NFS服务介绍 1.1什么是NFS服务 NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端 ...

  4. (三)spark算子 分为3大类

    ation算子通过sparkContext执行提交作业的runJob,触发rdd的DAG执行 (foreach) foreach(f) 会对rdd中的每个函数进行f操作,下面的f操作就是打印输出没有元 ...

  5. Selection Problem (选择问题)

    在一个由n个元素组成的集合中,第i个“顺序统计量(order statistic)”是该集合中第i小的元素.例如,在一个由n个元素组成的集合中,最小值是第1个顺序统计量,最大值是第n个顺序统计量.而“ ...

  6. dede 文章列表页如何倒序排列

    {dede:arclist row='6' typeid='18' orderway='asc'} <li>;<a href="[field:arcurl/]"& ...

  7. 我在面试.NET/C#程序员时会提出的问题(转载)

    转自:http://blog.zhaojie.me/2011/03/my-interview-questions-for-dotnet-programmers.html 说起来我也面试过相当数量的.N ...

  8. Unity Editor Inspector编辑模板

    效果图: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEdito ...

  9. jquery插件2

    1.很全,好用的jquery插件库:http://www.jq22.com/ 2.素材:http://www.sucaijiayuan.com/ 3.不错:http://www.helloweba.c ...

  10. Android源码及repo下载——亲自测试下载源码成功!

    经过一段时间煞费苦心的下载都未能成功后,如今终于把android源代码下载成功,很是兴奋! 废话不多说,直接说下步骤: 1.安装git和curl:sudo apt-get install git-co ...