什么是字典

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

字典的每个键值 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. My SQL查询语言

    基础查询 一.语法select 查询列表from 表名;二.特点1.查询列表可以是字段.常量.表达式.函数,也可以是多个2.查询结果是一个虚拟表 三.示例1.查询单个字段select 字段名 from ...

  2. Codeforces Round #413 A. Carrot Cakes

    A. Carrot Cakes time limit per test   1 second memory limit per test   256 megabytes   In some game ...

  3. Vs2013 & .net framework 4.5.1 预览介绍

    微软发布了vs2013 preview 和fw4.5.1 下面简单介绍一下与大家共享 Developer productivity X64 edit and continue 在2013里面 可以在x ...

  4. 【Leetcode】【Medium】Two Sum

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  5. Hyper-V迁移---委派

    在Hyper-V管理器中-实时迁移,选择“使用kerberos",如图1所示 在AD中,找到Hyper-V宿主,分别设置委派,如图2所示    图1               图2

  6. ELK_Elastic Search和kibana版本对应关系

    https://www.elastic.co/downloads/past-releases/kibana-5-0-0 https://www.elastic.co/downloads/past-re ...

  7. linu常用命令链接

    linux命令大全ps命令详解: http://www.jb51.net/LINUXjishu/151851.html Linux禁止ping以及开启ping的方法: http://www.cnblo ...

  8. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  9. 合并两个数组 以KEY 作为键

    <?php     $a= array(         array(             'ID'=> 2         ) );   $b= array(         arr ...

  10. MacOS上好用的软件

    持续补充中…… 记录一些除了MacOS(Sierra)自带工具外,其他好用的软件. 截屏软件 Jietu——在AppStore中查找“Jietu”就可以找到这款软件.这是腾讯出品的一款用于MacOS系 ...