闲话python46:词典的六个使全民斗地主用技巧

更新时间: Jun 07, 2020  作者:刘奥维斗地主  来源:

词典dict类型是python中常用的内置数据结构,日常开发用起来也非常方便。可能仍然有一些朋友对dict这个数据结构有诸多不满,但是如果你使用过C++的map类型就会明白python的dict实在是太亲民了。不过关于dict有没有一些技巧让它更好用一点呢?本文就来讨论一下几个在词典类型中常用的小技巧,虽没有颠覆性的东西,但是对于提升开发效率和代码美观全民斗地主程度还是很不错的。

1.从词典中取值

一般而言,我们从词典类型取值是直接使用中括号和key来完成的。这种方式有个小麻烦,那就是在key不存在的时候会报异常。如果在一些对稳定性有较高要求的项目中,就需要对这种代码进行异常捕获。等代码一写出来自己就觉得恶心了,毕竟这个取值的操作实在太多,那么就需要加很多的try...except...,这可并不是件有意思的事情。那么有没有什么办法解决这个问题呢?答案是使用get方法。get方法的第一个参数是键的名字,第二个参数是默认值,这就不需要再捕获异常了。

从词典中取值

2.向词典增加条目

有这样一个需求:向词典中增加数据,如果这个数据项已经存在就在数据项后追加,如果不存在就创建。看到这样描述的需求,那开门见山的实现方法就是使用if...else...,不过这样写的代码实在是太难看,关键是每次遇到这种需求都要这样实现一遍,这实在不是程序员的作风。这时,setdefault方法或许能助你一臂之力。

向词典增加条目

3.使用命名参数

创建词典的时候我们常常使用键的名字和值的方式来创建,键的名字是个字符串,因此需要加上引号。入股只是有少数几个元素也不太妨碍,但是如果有一堆的元素需要指定,那输入引号也足够心烦的。这时,我们可以使用dict来创建,就可以用参数名代替键的名字字符串。

使用命名参数

4.获取子集

从一个词典中获取子集元素是一些需要进行匹配任务中的常见需求。在python中要实现这种需求,往往也是一行代码搞定,不过需要结合词典的get方法和表达式推导来实现。

获取子集

5.键值反转

在统计任务中有时会遇到需要将词典中的键和值进行反转的需求。第一种简单直观奥维斗地主的实现方式还是使用表达式推导,实际上会用这种方式就行。不过python中还有一个更简洁的方式,那就是使用zip函数,配合词典的keys和values两个函数实现。

键值反转

6.交集与并集

由于词典类型的键具有互异性,所以常常将词典当作数学中的集合使用。这时就需要对词典进行求交集和并集的运算。python已经提供了set类型,因此如果是单纯地完成数学集合运算,不建议使用dict。但是总会在一些别的需求中需要使用dict,毕竟dict除了key还带有一些值。

(责任编辑:全民斗地主)

本文地址:/meilitongxing/20200607/5877.html

上一篇:CIFAR10+卷积神经网络+TensorBoard实战 下一篇:真本聪手记:用2千万窃取MakerDAO锁定的3.4亿美元|火星号精选

 

更多精彩内容

扫描二维码, 收看更多新闻

 

百度新闻独家出品

  1. 1. 新闻由机器选取每5分钟自动更新
  2. 2. 百度新闻搜索源于互联网新闻网站和频道,系统自动分类排序
  3. 3. 百度不刊登或转载任何完整的新闻内容
责任编辑:全民斗地主 违法和不良信息举报电话:400- 913 - 4271