给dict设置默认值
这样能设置所有key的默认值为[],包括新添的key
1 2 |
from collections import defaultdict context = defaultdict(list) |
setdefault一次只能设置一个值,但好处是能使用链式语法,但defaultdict
更快一些
1 2 |
context = {} context.setdefault('name_list', []).append('Fiona') |
或者用fromkeys,用法dict.fromkeys(seq[, value]))
,value
默认是国际惯例的None
1 2 3 4 5 6 |
name_list = ['kevin', 'robin'] context = {}.fromkeys(name_list, 9) # {'kevin': 9, 'robin': 9} context = dict.fromkeys([1, 2], True) # {1: True, 2: True} |
列表去重的快速方法
比用set要快,来自:http://www.peterbe.com/plog/uniqifiers-benchmark
1 |
{}.fromkeys(mylist).keys() |
列表深复制
1 2 |
a = [3, 2, 1] b = a[:] |
字典深复制
1 2 |
a = {'male':0, 'female': 1} b = a.copy() |
时间转换相关
获取今天的年月日时间(date)
两种代码效果相同
1 2 3 4 |
from datetime import datetime n_date = datetime.now().date() n_date = datetime.today().date() |
date -> datetime
1 2 3 4 |
from datetime import datetime b = datetime.combine(n_date, datetime.min.time()) # datetime.datetime(2015, 9, 8, 0, 0) |
datetime -> date
比较简单,直接使用datetime_object.date()
即可
1 2 3 4 |
# datetime.datetime(2015, 6, 5, 11, 45, 45, 393548) a = datetime.datetime() # datetime.datetime(2016, 6, 5) b =etime.datetime() # datetime.datetime(2016, 6, 5) b =argin-top: 12px; margin-bottom: 12px; font-size: 13px !important; line-height: 15px !important;">
setdefault一次只能设置一个值,但好处是能使用链式语法,但
或者用fromkeys,用法
列表去重的快速方法比用set要快,来自:http://www.peterbe.com/plog/uniqifiers-benchmark
列表深复制
字典深复制
时间转换相关获取今天的年月日时间(date)两种代码效果相同
date -> datetime
datetime -> date比较简单,直接使用
|