一些實用的 python 小建議

發表於2016-06-06

給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稍快一些


相關文章