字典是一种可变容器模型,且可存储任意类型对象。键是不可变类型(且是唯一的),值可以是任意类型(不可变类型:整型,字符串,元组;可变类型:列表,字典)。字典是无序的,没有顺序关系,访问字典中的键值是通过键查询值。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

dic={'name':'Tom','Age':20,'Sex':'man'}

创建字典

 dic1={'name':'Tom','Age':18,'Sex':man}
dic2=dic((('name','Jim'),))
print(dic1)
print(dic2)

对应操作

增:

1.

  dic1={}

  dic1['name']='Tom'  #如果name存在,则修改原name键的值。如果不存在就增加一组键值。

2.

  eg:dic1.setdefault('name','张三')     # 如果键存在不作任何修改,如果不存在就增加一组键值对。并且有返回值。如果有原键的话就返回原键的值,没有就返回新增键的值

查:(通过键来查询相应的值)

 dic1={‘name’:'Tom','age':23,'Sex':'man'}

1.dic1['name']   #查询name的值。

2.dic1.keys()    # 查看改字典的所有键,并且返回的是dict_keys类型,可用list()方法将其转换为列表。

3.dic1.values() #查看该字典的值。返回值同上。

4.dic1.items()  #查看所有的键值对。

改:

 dic1={‘name’:'Tom','age':23,'Sex':'man'}              dic2={‘name’:'Tom','age':23,'hobby':'girls'}

  1.dic1['name']='Alex'

  2.dic1.update(dic2)# 将dic2的内容加入dic1,如果有相同的键,就覆盖原值。原则是有就修改值,没有就增加键值对。

删:

 dic1={‘name’:'Tom','age':23,'Sex':'man'} 

  1.dic1.clear()  #清空字典中的键值对,但是不删除字典。

   2.del dic1['name']   #删除dic1中的某一键值对。

  3.del dic1    #删除整个dic1字典。

  4.dic1.pop('age')# 删除dic1中的某一键值对,并返回删除键的值。

  5.dic1.popitem()  #随机删除一组键值对。(很无聊的方法,不知道干嘛用的)

字典的其他操作:

  1.dic1=dict.fromkeys(['host1','host2','host3'],'test')  #新建一个字典,并且将字典初始化,host代表键,test代表值(值只能写一个,多写还是当一个处理),并且所有的键都是这个值。

  2.字典的嵌套:字典里面有字典或者列表什么的。

  3.字典的排序:排序原则是如果键或值是数字就按数字大小来排,如果是字符就按照ASCII码值的大小来排。

    dic={.............................}

    sorted(dic.items)   #对键排序

    sorted(dic.values) #对值排序  

   4.字典的遍历

      略   

python字典学习笔记的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  3. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  4. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  5. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  6. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  7. Python高级学习笔记

    Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...

  8. python基础学习笔记——字典

    字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...

  9. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

随机推荐

  1. STM32获取DHT11温度传感器数据

    准备物件 STM32F103C8T6核心板 ST-LINK V2 DHT11 杜邦线若干 连接线 STM32F103C8T6芯片管脚图 管脚说明 连接仿真器 STM32 ST-LINKV2 VCC V ...

  2. 利用PN532读取二代证UID

    准备工作 芯片选择 NFC芯片,需要支持ISO14443 Type B协议,比如PN532 阅读ISO 14443 重点阅读如下内容: 7.3.4.1 状态转换图 7.3.5 ~ 7.3.7 REQB ...

  3. 在JavaScript中使用json.js:Ajax项目之POST请求(异步)

    经常在百度搜索框输入一部分关键词后,弹出候选关键热词.现在我们就用Ajax技术来实现这一功能. 一.下载json.js文件 百度搜一下,最好到json官网下载,安全起见. 并与新建的两个文件部署如图 ...

  4. /MD、/MT、/LD( 使用 多线程版本 运行时库的C runtime library)

    /MD./MT./LD(使用运行时库)(微软官网解释) Visual C++ 编译器选项 /MD./ML./MT./LD 区别 指定与你项目连接的运行期库 /MT多线程应用程序 /Mtd多线程应用程序 ...

  5. ionic2+Angular2:套接口明细步骤,以登录功能为例

    1.在app.module.ts引用HttpModul,并在imports内引用.截图如下:   2.在src目录下新建http服务.命令行:ionic g provider HttpService ...

  6. Linux文件类型介绍

    文件类型介绍: Linux系统不同于Windows系统,两者文件类型和文件扩展名也有很大的差异.Linux中的文件类型和Linux文件的文件扩展名所代表的意义和Windows系统完全不同.用户一般通过 ...

  7. android Intent机制详解

    http://www.oschina.net/question/565065_67909 http://www.cnblogs.com/hummersofdie/archive/2011/02/12/ ...

  8. PHP 404页面/如何设置404页面/URL静态化/URL伪静态化

    php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404. ...

  9. PHP中如何定义类及其成员属性与操作

    1.类的定义: i. 类的关键字定义使用class 1.定义一个空类 Class Person{}; 2.定义一个有成员属性和操作的类 Class Person{ 成员属性........ 操    ...

  10. Debian 9 中手动设置有线网络

    multi-user.target中不使用networkmanager,上网需要手动设置后才可以,进行有线网线的设置: 首先得到网卡名称:ip addr or ls /sys/class/net/,以 ...