一些实用的 python 小建议

给dict设置默认值

这样能设置所有key的默认值为[],包括新添的key

setdefault一次只能设置一个值,但好处是能使用链式语法,但defaultdict更快一些

或者用fromkeys,用法dict.fromkeys(seq[, value]))value默认是国际惯例的None

列表去重的快速方法

比用set要快,来自:http://www.peterbe.com/plog/uniqifiers-benchmark

列表深复制

字典深复制

时间转换相关

获取今天的年月日时间(date)

两种代码效果相同

date -> datetime

datetime -> date

比较简单,直接使用datetime_object.date()即可

time.struct_time -> datetime

一般time.localtime()或者用time.striptime()得到的就是time.struct_time

使用位置参数

或者使用datetime.fromtimestamp,但是要注意此处的时间不能早于1970-01-01 00:00

计算日期之差

获取milliseconds(13位数字)

使用map作iterator

当将func设置为None时,可起到iterator的作用,结果类似于使用了zip,唯一的区别是map可以按最长的列表扩展。
python2.x中的itertools.zip_longest可以起到与此处map相同的效果

判断奇数

自然是使用位操作最快了

dict删除key

要删除的key数量较多(超多一半)的话,建议重新生成dict;如果数量较少,在popdel都可以的情况下,del稍快一些


2 4 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部