给dict设置默认值
这样能设置所有key的默认值为[],包括新添的key
setdefault一次只能设置一个值,但好处是能使用链式语法,但defaultdict更快一些
或者用fromkeys,用法dict.fromkeys(seq[, value])),value默认是国际惯例的None
列表去重的快速方法
比用set要快,来自:http://www.peterbe.com/plog/uniqifiers-benchmark
列表深复制
字典深复制
时间转换相关
1、获取今天的年月日时间(date)
两种代码效果相同
2、date -> datetime
3、datetime -> date
比较简单,直接使用datetime_object.date()即可
4、time.struct_time -> datetime
一般time.localtime()或者用time.striptime()得到的就是time.struct_time
使用位置参数
或者使用datetime.fromtimestamp,但是要注意此处的时间不能早于1970-01-01 00:00
5、计算日期之差
6、获取milliseconds(13位数字)
使用map作iterator
当将func设置为None时,可起到iterator的作用,结果类似于使用了zip,唯一的区别是map可以按最长的列表扩展。
python2.x中的itertools.zip_longest可以起到与此处map相同的效果
判断奇数
自然是使用位操作最快了
dict删除key
要删除的key数量较多(超多一半)的话,建议重新生成dict;如果数量较少,在pop和del都可以的情况下,del稍快一些
文 | quietin
原文链接:https://segmentfault.com/u/quietin