Python 操作字典 的几个技巧
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 操作字典 的几个技巧相关推荐
- python操作字典
# 字典 score={"张三":"23","王五":"45"} print(score) dct=dict(name= ...
- python字典的常用方法_python操作字典类型的常用方法(推荐)
has_key()方法可以检查字典中是否含有指定的键,如果有则返回True,否则就返回False. 语法格式: dictionary_name.has_key(key) dict1 = {'01':' ...
- python操作sqlite数据库_Python操作Sqlite正确实现方法解析
Python编程语言的优点非常多,它的编程特色主要体现在可扩充性方面.那么,在接下来的这篇文章中,我们将会为大家详细介绍一下有关Python操作Sqlite 的相关应用技巧,希望可以给大家带来些帮助. ...
- python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- python mysql返回,python操作mysql数据-执行语句返回值直接返回字典类型
fetchall()将结果放在二维数组里面,每一行的结果在元组里面 import pymysql def export(table_name): conn =pymysql.connect(host ...
- 菜鸟教程python3 mysql_python基础教程使用Python操作MySQL的小技巧
1.获取插入数据的主键id import pymysql database = pymysql.connect( host="127.0.0.1", port=3306, user ...
- Python,Day2 - 数据类型,运算,列表操作,字典
本节内容 1.Python PYC 2.Python数据类型 3.数据运算 4.列表.元组操作 5.元组 6.字符串操作 7.字典操作 1.Python PYC 预编译后的字节码 1.1Python是 ...
- python购物车程序详解用字典_使用python操作文件实现购物车程序
使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...
- Python之字典类型数据常见操作及排序
一.Python 字典 Python 的字典 dictionary 是一种灵活的数据结构类型,字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割. Python ...
最新文章
- window.location.Reload()和window.location.href 区别
- 【转】解决wine中文乱码的问题
- 4.6 matlab图形修饰处理(视点处理、色彩处理、裁剪处理)
- ThinkPHP3.2.3 字段映射/自动验证/自动完成
- python mysql股票分析_一颗韭菜的自我修养:用Python分析下股市,练练手
- 你试过这样写C程序吗
- jboss配置ejb容器_JBoss AS 7 EJB3池配置
- 第九节:基于MVC5+AutoFac+EF+Log4Net的基础结构搭建
- python刷题技巧_【python刷题】分治法
- iOS贝塞尔曲线(UIBezierPath)的基本使用方法
- 大数阶乘 nyoj28
- Keli 编译遇到 *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED且已经破解
- 网站在线协作工具 onlyoffice在线协作
- 软件项目管理 3.1.生存期模型选择
- netty 高匿ip检测_检测代理IP匿名程度的方法
- Java程序员薪资分级,你想到第几级?
- 腾达无线路由器连不上服务器,腾达无线路由器中继失败怎么办?
- Urban NeRF
- 力扣LeetCode-哈希表
- USB audio调试
热门文章
- C#开发之问题汇总-vs运行正常,服务器IIS上报未能加载程序集
- UnisGuard防篡改产品了解
- tcount在哪个文件里_在cad中tcount快速编号命令怎么用,求教
- CPU的插槽类型LGA与Socket 的区别
- Webservice soap wsdl区别之个人见解
- 一直觉得饿是什么问题
- 对科目***货币 ***未定义汇率差额科目
- ABAP选择屏幕的例子
- linux虚拟化毕业设计,毕业设计(论文)-基于Linux的云校园桌面虚拟化系统的设计与实现(68页)-原创力文档...
- basler相机参数简要中文说明_你知道相机曝光模式怎么用么?6种相机曝光模式详解及应用...