Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典.

1 创建字典

Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict

>>> info = {}
>>> info = dict()

2 初始化字典

Python可以在创建字典的时候初始化字典

>>> info = {"name" :  cold }
>>> info = dict(name =  cold )       # 更优雅

很明显第二种方法更加的优雅和减少一些特殊字符的输入,但是有种情况第二种不能胜任

>>> key =  name
>>> info = { key : cold }  # { name : cold }
>>> info = dict(key =  cold ) # { key :  cold }

明显第二种方法就会引发一个不容易找到的bug

Python字典还有一种初始化方式,就是使用字典的fromkeys方法可以从列表中获取元素作为键并用None或fromkeys方法的第二个参数初始化

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> info = {}.fromkeys([ name ,  blog ])
>>> info
{ blog : None,  name : None}
>>> info = dict().fromkeys([ name ,  blog ])
>>> info
{ blog : None,  name : None}
>>> info = dict().fromkeys([ name ,  blog ],  linuxzen.com )
>>> info
{ blog :  linuxzen.com ,  name :  linuxzen.com }

3 优雅的获取键值

字典可以这样获取到键的值

>>> info = { name : cold ,  blog : linuxzen.com }
>>> info[ name ]cold

但是如果获取不存在的键的值就会触发的一个KeyError异常,字典有一个get方法,可以使用字典get方法更加优雅的获取字典

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> info = dict(name=  cold , blog= www.linuxzen.com )
>>> info.get( name )cold
>>> info.get( blogname )
None
>>> info.get( blogname ,  linuxzen )linuxzen

我们看到使用get方法获取不存在的键值的时候不会触发异常,同时get方法接收两个参数,当不存在该键的时候就会返回第二个参数的值 我们可以看到使用get更加的优雅

4 更新/添加

Python 字典可以使用键作为索引来访问/更新/添加值

>>> info = dict()
>>> info[ name ] =  cold
>>> info[ blog ] =  linuxzen.com
>>> info
{ blog :  linuxzen.com ,  name :  cold }
>>> info
{ blog :  linuxzen.com ,  name :  cold night }

同时Python字典的update方法也可以更新和添加字典

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> info = dict(name= cold , blog= linuxzen.com )
>>> info.update({ name : cold night ,  blogname : linuxzen })
>>> info
{ blog :  linuxzen.com ,  name :  cold night ,  blogname :  linuxzen }
>>> info.update(name= cold , blog= www.linuxzen.com ) # 更优雅
>>> info
{ blog :  www.linuxzen.com ,  name :  cold ,  blogname :  linuxzen }

Python字典的update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,上面代码中哦功能的第二个更加优雅,但是同样和dict函数类似,键是变量时也只取字面值

5 字典删除

可以调用Python内置关键字del来删除一个键值

>>> info = dict(name= cold , blog= linuxzen.com )
>>> info
{ blog :  linuxzen.com ,  name :  cold }
>>> del info[ name ]
>>> info
{ blog :  linuxzen.com }

同时也可以使用字典的pop方法来取出一个键值,并删除

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> info = dict(name= cold , blog= linuxzen.com )
>>> info.pop( name )cold
>>> info
{ blog :  linuxzen.com }

6 其他操作

获取所有key

>>> info = dict(name= cold , blog= linuxzen.com )
>>> info.keys()
[ blog ,  name ]

获取key,value并循环

>>> info = dict(name= cold , blog= linuxzen.com )
>>> for key, value in info.items():
...     print key,  : ,  value
...
blog : linuxzen.com
name : cold

Python 操作字典 的几个技巧相关推荐

  1. python操作字典

    # 字典 score={"张三":"23","王五":"45"} print(score) dct=dict(name= ...

  2. python字典的常用方法_python操作字典类型的常用方法(推荐)

    has_key()方法可以检查字典中是否含有指定的键,如果有则返回True,否则就返回False. 语法格式: dictionary_name.has_key(key) dict1 = {'01':' ...

  3. python操作sqlite数据库_Python操作Sqlite正确实现方法解析

    Python编程语言的优点非常多,它的编程特色主要体现在可扩充性方面.那么,在接下来的这篇文章中,我们将会为大家详细介绍一下有关Python操作Sqlite 的相关应用技巧,希望可以给大家带来些帮助. ...

  4. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  5. python mysql返回,python操作mysql数据-执行语句返回值直接返回字典类型

    fetchall()将结果放在二维数组里面,每一行的结果在元组里面 import pymysql def export(table_name): conn =pymysql.connect(host ...

  6. 菜鸟教程python3 mysql_python基础教程使用Python操作MySQL的小技巧

    1.获取插入数据的主键id import pymysql database = pymysql.connect( host="127.0.0.1", port=3306, user ...

  7. Python,Day2 - 数据类型,运算,列表操作,字典

    本节内容 1.Python PYC 2.Python数据类型 3.数据运算 4.列表.元组操作 5.元组 6.字符串操作 7.字典操作 1.Python PYC 预编译后的字节码 1.1Python是 ...

  8. python购物车程序详解用字典_使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  9. Python之字典类型数据常见操作及排序

    一.Python 字典 Python 的字典 dictionary 是一种灵活的数据结构类型,字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割. Python ...

最新文章

  1. window.location.Reload()和window.location.href 区别
  2. 【转】解决wine中文乱码的问题
  3. 4.6 matlab图形修饰处理(视点处理、色彩处理、裁剪处理)
  4. ThinkPHP3.2.3 字段映射/自动验证/自动完成
  5. python mysql股票分析_一颗韭菜的自我修养:用Python分析下股市,练练手
  6. 你试过这样写C程序吗
  7. jboss配置ejb容器_JBoss AS 7 EJB3池配置
  8. 第九节:基于MVC5+AutoFac+EF+Log4Net的基础结构搭建
  9. python刷题技巧_【python刷题】分治法
  10. iOS贝塞尔曲线(UIBezierPath)的基本使用方法
  11. 大数阶乘 nyoj28
  12. Keli 编译遇到 *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED且已经破解
  13. 网站在线协作工具 onlyoffice在线协作
  14. 软件项目管理 3.1.生存期模型选择
  15. netty 高匿ip检测_检测代理IP匿名程度的方法
  16. Java程序员薪资分级,你想到第几级?
  17. 腾达无线路由器连不上服务器,腾达无线路由器中继失败怎么办?
  18. Urban NeRF
  19. 力扣LeetCode-哈希表
  20. USB audio调试

热门文章

  1. C#开发之问题汇总-vs运行正常,服务器IIS上报未能加载程序集
  2. UnisGuard防篡改产品了解
  3. tcount在哪个文件里_在cad中tcount快速编号命令怎么用,求教
  4. CPU的插槽类型LGA与Socket 的区别
  5. Webservice soap wsdl区别之个人见解
  6. 一直觉得饿是什么问题
  7. 对科目***货币 ***未定义汇率差额科目
  8. ABAP选择屏幕的例子
  9. linux虚拟化毕业设计,毕业设计(论文)-基于Linux的云校园桌面虚拟化系统的设计与实现(68页)-原创力文档...
  10. basler相机参数简要中文说明_你知道相机曝光模式怎么用么?6种相机曝光模式详解及应用...