摘要:中的可以起到與此處相同的效果判斷奇數自然是使用位操作最快了刪除要刪除的數量較多超多一半的話,建議重新生成如果數量較少,在和都可以的情況下,稍快一些
給dict設置默認值
這樣能設置所有key的默認值為[],包括新添的key
from collections import defaultdict context = defaultdict(list)
setdefault一次只能設置一個值,但好處是能使用鏈式語法,但defaultdict更快一些
context = {} context.setdefault("name_list", []).append("Fiona")
或者用fromkeys,用法dict.fromkeys(seq[, value])),value默認是國際慣例的None
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
{}.fromkeys(mylist).keys()列表深復制
a = [3, 2, 1] b = a[:]字典深復制
a = {"male":0, "female": 1} b = a.copy()時間轉換相關 獲取今天的年月日時間(date)
兩種代碼效果相同
from datetime import datetime n_date = datetime.now().date() n_date = datetime.today().date()date -> datetime
from datetime import datetime b = datetime.combine(n_date, datetime.min.time()) # datetime.datetime(2015, 9, 8, 0, 0)datetime -> date
比較簡單,直接使用datetime_object.date()即可
# datetime.datetime(2015, 6, 5, 11, 45, 45, 393548) a = datetime.datetime() # datetime.datetime(2016, 6, 5) b = a.date()time.struct_time -> datetime
一般time.localtime()或者用time.striptime()得到的就是time.struct_time
使用位置參數
structTime = time.localtime() datetime.datetime(*structTime[:6]) # datetime.datetime(2009, 11, 8, 20, 32, 35)
或者使用datetime.fromtimestamp,但是要注意此處的時間不能早于1970-01-01 00:00
from time import mktime from datetime import datetime dt = datetime.fromtimestamp(mktime(struct))計算日期之差
from datetime import date d0 = date(2008, 8, 18) d1 = date(2008, 9, 26) delta = d0 - d1 print delta.days獲取milliseconds(13位數字)
import time from datetime import datetime time.time() # 1441769033.549239 int(time.time() * 1000) # 1441769033549 # or def unix_time_milliseconds: time_gap = datetime.utcnow() - datetime.utcfromtimestamp(0) return int(time_gap.total_seconds() * 1000) # 1441769033549使用map作iterator
當將func設置為None時,可起到iterator的作用,結果類似于使用了zip,唯一的區(qū)別是map可以按最長的列表擴展。
python2.x中的itertools.zip_longest可以起到與此處map相同的效果
map(None, xrange(3), xrange(10,12)) # [(0, 10), (1, 11), (2, None)] zip(xrange(3), xrange(10,12)) # [(0, 10), (1, 11)]判斷奇數
自然是使用位操作最快了
if a & 1: print "it is even"dict刪除key
要刪除的key數量較多(超多一半)的話,建議重新生成dict;如果數量較少,在pop和del都可以的情況下,del稍快一些
python -m timeit -s "d = {"f":1,"foo":2,"bar":3}" "d1 = d.copy()" "for k in d1.keys():" " if k.startswith("f"):" " del d1[k]" # 1000000 loops, best of 3: 0.827 usec per loop
python -m timeit -s "d = {"f":1,"foo":2,"bar":3}" "d1 = d.copy()" "for k in d1.keys():" " if k.startswith("f"):" " d1.pop(k)" # 1000000 loops, best of 3: 0.96 usec per loop
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37594.html
??蘇州程序大白一文從基礎手把手教你Python數據可視化大佬??《??記得收藏??》 目錄 ????開講啦?。。?!????蘇州程序大白?????博主介紹前言數據關系可視化散點圖 Scatter plots折線圖強調連續(xù)性 Emphasizing continuity with line plots同時顯示多了圖表 數據種類的可視化 Plotting with categorical da...
摘要:的三種數據類型字典列表元組,分別用花括號中括號小括號表示。約等于上句,可能是因為自定義變量名與內部函數或變量同名了。下,默認路徑一般為。的日志模塊中計時器定時器計劃任務,。對象的問題怎樣忽略警告不打印煩人的警告打印到終端同時記錄到文件。 Python Enhancement Proposal。(PEP,Python增強建議書) Python之禪(import this) Pytho...
摘要:元組是靜態(tài)數組,它們不可變,且其內部數據一旦創(chuàng)建便無法改變。元組緩存于運行時環(huán)境,這意味著我們每次使用元組時無須訪問內核去分配內存。 以下是整理的JavaScript和python的基礎區(qū)別的整理: 字符串、列表、元組、字典、集合、函數 字符串 聲明一個字符串 python str = 123 str = 123 Tips: 如果是三個引號的話,那么在py中就是注釋的意思 ...
摘要:元組是靜態(tài)數組,它們不可變,且其內部數據一旦創(chuàng)建便無法改變。元組緩存于運行時環(huán)境,這意味著我們每次使用元組時無須訪問內核去分配內存。 以下是整理的JavaScript和python的基礎區(qū)別的整理: 字符串、列表、元組、字典、集合、函數 字符串 聲明一個字符串 python str = 123 str = 123 Tips: 如果是三個引號的話,那么在py中就是注釋的意思 ...
摘要:是一個數據分析的開源庫。與表格或關系數據庫中的表非常神似。注意帶有一個索引,類似于關系數據庫中的主鍵。的統計函數分組與聚合通過方法,可以對數據組施加一系列的函數。函數的作用是串聯,追加數據行使用函數。 pandas(Python data analysis)是一個Python數據分析的開源庫。pandas兩種數據結構:DataFrame和Series 安裝:pandas依賴于NumPy...
閱讀 1599·2021-11-02 14:48
閱讀 3651·2019-08-30 15:56
閱讀 2767·2019-08-30 15:53
閱讀 3208·2019-08-30 14:09
閱讀 3094·2019-08-30 12:59
閱讀 2853·2019-08-29 18:38
閱讀 2693·2019-08-26 11:41
閱讀 2209·2019-08-23 16:45