pythonic dict

原创 2016年08月29日 19:34:16
  1. 存在性
    不推荐 dict.has_key()
    推荐 key in dict

  2. 不推荐 not key in dict
    推荐 key not in dict

  3. 默认值
    dict.get(key, 0)

  4. 有时你的字典都是经常修改的对象,你需要初始化一些数据到这个字典,也需要修改其中的一些值,比如说你再维护这样一个dict, 它的值都是链表

dic = {}
for (key, value) in data:
    if key in dic:
        dic[key].append(value)
    else:
        dct[key] = [value]

first change:

dct={}
for (key, value) in data:
    group = dct.setdefault(key, [])  # setdefault所做的是,如果存在返回dct[key], 不存在则把dct[key]设置为default并且将其返回。当一个默认的值是一个你可以修改的对象的时候是很有用的
    group.append(value)

second change

dct = defualtdict(list)
for (key, value) in data:
    dat[key].append(value)

参考:http://pyzh.readthedocs.io/en/latest/python-the-dictionary-playbook.html

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bell10027/article/details/52355898

Notification KeyguardDone Pending

在某系列机上,插入耳机的时候会在锁屏界面弹出一个通知,但是这个通知并没有什么卵用,双击的效果也仅仅是解锁罢了,但是解锁之后直接就是launch界面,没有任何的Activity,这里就出现了一个bug,...
  • bell10027
  • bell10027
  • 2015-12-18 10:36:49
  • 463

Android4.4 4.2keyguard锁屏流程梳理

Android4.4 锁屏流程梳理 刚毕业不久由于项目需要就接触到锁屏,从2.2到4.1都解过bug,也定制过一些功能。4.1之前的锁屏工作不难,但很费时间,因为它的逻辑,视图,资源分别分布在不同的路...
  • aaa2832
  • aaa2832
  • 2014-03-26 15:55:30
  • 34085

python中比较pythonic的地方

变量交换 >>> a, b = b, a 循环遍历区间元素 >>>for i in range(10): ... print (i)返回的是生成器对象,生成器比列表更加节省内存 带索引位置的循环...
  • u011404495
  • u011404495
  • 2017-03-03 15:58:34
  • 500

如何让python代码更加pythonic

转载自http://shihongzhi.com/python/2012/05/24/Pythonic/ Pythonic The Zen of Python 在python终端输入impo...
  • lanyuanershe
  • lanyuanershe
  • 2012-10-17 22:45:51
  • 2388

KeyguardViewMediator KeyguardManager

KeyguardViewMediator是整个待机解/锁屏业务的调度器,负责调度锁屏界面的相关动作及查询解锁屏状态 它在PhoneWindowManager初始 化时被创建,并运行在它的线程上,锁屏...
  • muojie
  • muojie
  • 2013-01-09 17:34:47
  • 2317

Android4.0 4.1Keyguard锁屏流程梳理

一直想要整理一下keyguard(锁屏)模块的相关流程,由于各种原因总是没真正着手开始做,一直拖也不是个办法,所以就索性开始了。 这篇内容会比较偏分析,所以闲话就少扯点了。 锁屏模块位于framewo...
  • aaa2832
  • aaa2832
  • 2012-07-13 20:03:05
  • 11494

如何优雅的写好Pythonic代码?

如何用Python简洁、优雅的写代码?这篇文章通过示例来告诉你。
  • lansebolangcjl
  • lansebolangcjl
  • 2017-08-31 13:21:29
  • 272

啄木鸟 Pythonic 开源社区

http://www.woodpecker.org.cn/
  • httpnet
  • httpnet
  • 2005-03-23 11:47:00
  • 1416

Android-Keyguard开发分析(持续...)

一、开机启动过程: 1.开机启动后执行到PhoneWindowManager.systemReady()。 2.systemReady()执行到KeyguardServiceDelegate,再执...
  • zhangzhi2199
  • zhangzhi2199
  • 2014-11-12 17:16:20
  • 1992

Android6.0 keyguard锁屏加载流程分析

锁屏界面的加载通常在android中有两种方式触发:android系统开机和screenOff(灭屏)后,再screenOn; 先来看 android系统开机时候的锁屏加载流程: 首先在系统启动过程中...
  • Otaku_627
  • Otaku_627
  • 2016-12-20 21:21:45
  • 4488
收藏助手
不良信息举报
您举报文章:pythonic dict
举报原因:
原因补充:

(最多只允许输入30个字)