什么是字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

示例:

 >>> d ={"name":"beijing"}  #花括号中 “name ”为key 即键 “beijing”为value 即值 中间用冒号分割。多个键值对用逗号分割,键必须唯一。键必须是不可变类型,值可以是任何数据类型
>>> d
{'name': 'beijing'}
>>> type(d)
<type 'dict'>
>>>

创建字典

方式1:mydict={}

方式2:mydict=dict(arg)

方式3:mydict={}.fromkeys(arg)

 >>> d={}     #创建了一个空的字典
>>> person ={"name":"zhangsan","age":""} #创建一个有内容的字典
>>> d["student"]="xiaoming" #向字典d中添加内容
>>> d
{'student': 'xiaoming'}
>>> id(d) #id函数获取对象的内存地址。
49510328L
>>> d["age"]=18 #向d字典中添加age
>>> d
{'age': 18, 'student': 'xiaoming'}
>>> id(d) #id函数获取对象的内存地址与上面的相同,由此可见添加内容并没有创建新的字典,说明字典是可以修改的,或者说字典是可变得
49510328L
>>> name=([1,"baidu"],[2,"weibo"]) #创建一个元组,元组中有两个列表,一个列表中有两个元素,这两个元素对应着即将创建的key和value
>>> name
([1, 'baidu'], [2, 'weibo'])
>>> web =dict(name) #使用dict函数创建字典
>>> web
{1: 'baidu', 2: 'weibo'}
>>> w =dict(name="tom",age=10) #使用dict函数创建字典
>>> w
{'age': 10, 'name': 'tom'}
>>> book ={}.fromkeys(("python","author"),"cc") #使用fromkeys创建字典,可以看出value值可以重复
>>> book
{'python': 'cc', 'author': 'cc'}
>>>

基本方法

  len()  键值对的长度

  d[key] 通过key获取value值

  d[key]=value 修改或增加

  del[key] 删除

  key in d 判断key是否在字典d中

 >>> city_codes
{'tianjin': '', 'beijing': '', 'shanghai': '', 'chongqing': ''}
>>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes
'beijing is the capital of China ,its area code is 010'
>>> len(city_codes) #
4
>>> city_codes["beijing"]
''
>>> city_codes["nanjing"]=""
>>> city_codes
{'tianjin': '', 'beijing': '', 'shanghai': '', 'nanjing': '', 'chongqing': ''}
>>> del city_codes["shanghai"]
>>> "shanghai" in city_codes
False
>>>

键值对:映射关系

 >>> city_codes={"beijing":"","shanghai":"","tianjin":"","chongqing":""}
>>> city_codes["beijing"] #通过字典的key访问字典的值
''
>>> city_codes #字典是无序的
{'tianjin': '', 'beijing': '', 'shanghai': '', 'chongqing': ''}
>>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes #格式化字符串可以使用字典(注意)
'beijing is the capital of China ,its area code is 010'
>>>                                                                                                

Python 学习笔记(九)Python元组和字典(二)的更多相关文章

  1. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...

  2. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  3. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  4. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  5. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  6. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

  7. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  8. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  9. Python学习笔记 - day12 - Python操作NoSQL

    NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...

  10. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

随机推荐

  1. 简单的java使用SAX解析xml

    1.新建一个SAXTest类,继承import org.xml.sax.helpers.DefaultHandler类 package com.qiao.SrpingSource; import or ...

  2. javascript图片预加载

    图片预加载是非常常见的一个功能,PC和移动端都会用到,尤其是在移动端,只要涉及到较多图片的加载都会用到该技术.下面是移动端用到的,引入了zepto. <!DOCTYPE html> < ...

  3. hdu 4513 吉哥系列故事——完美队形II (manachar算法)

    吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) P ...

  4. 【Python】directory字典类型

    它的基本格式是(key是键,value是值): d = {key1 : value1, key2 : value2 } Example dir = {'Mic':1,'Sun':2} for k in ...

  5. SpringMVC学习(六)——@InitBinder注解

    有些类型的数据是无法自动转换的,比如请求参数中包含时间类型的数据,无法自动映射到Controller里的Date参数.需要使用@initBinder注解为binder提供一个数据的转换器,这个转换器可 ...

  6. java学习笔记之Java的特点

    Java在如今的发展趋势而言,一直都是处于流行的原因自然也是随之而存在的. java的特点如下几个方面: 1.简单性 Java 实际上是一个 C++去掉了复杂性之后的简化版.如果读者没有编程经验,会发 ...

  7. 【系统】在windows中追加/删除虚拟打印机

    由于项目需要在windwos系统中添加多台虚拟打印机(能够正常打印出纸),查找了一下系统函数. 使用 rundll32 printui.dll,PrintUIEntry,在CMD中运行,在弹出框中得到 ...

  8. Hibernate初探之单表映射

    http://www.imooc.com/video/7816 1.什么是ORM?为什么使用Hibernate? 对象关系映射:为了少写和底层数据库相关的sql语句,方便程序的维护.修改,提高跨平台性 ...

  9. 2维FFT算法实现——基于GPU的基2快速二维傅里叶变换

    上篇讲述了一维FFT的GPU实现(FFT算法实现——基于GPU的基2快速傅里叶变换),后来我又由于需要做了一下二维FFT,大概思路如下. 首先看的肯定是公式: 如上面公式所描述的,2维FFT只需要拆分 ...

  10. 如何理解 Learning to rank

    转:http://hi.baidu.com/christole/item/23215e364d8418f896f88deb What is Rank? rank就是排序.IR中需要排序的问题很多,最常 ...