亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python性能優化的20條建議

2020-02-23 06:06:01
字體:
來源:轉載
供稿:網友

優化算法時間復雜度

算法的時間復雜度對程序的執行效率影響最大,在Python中可以通過選擇合適的數據結構來優化時間復雜度,如list和set查找某一個元素的時間復雜度分別是O(n)和O(1)。不同的場景有不同的優化方式,總得來說,一般有分治,分支界限,貪心,動態規劃等思想。

減少冗余數據

如用上三角或下三角的方式去保存一個大的對稱矩陣。在0元素占大多數的矩陣里使用稀疏矩陣表示。

合理使用copy與deepcopy

對于dict和list等數據結構的對象,直接賦值使用的是引用的方式。而有些情況下需要復制整個對象,這時可以使用copy包里的copy和deepcopy,這兩個函數的不同之處在于后者是遞歸復制的。效率也不一樣:(以下程序在ipython中運行)

import copya = range(100000)%timeit -n 10 copy.copy(a) # 運行10次 copy.copy(a)%timeit -n 10 copy.deepcopy(a)10 loops, best of 3: 1.55 ms per loop10 loops, best of 3: 151 ms per loop

timeit后面的-n表示運行的次數,后兩行對應的是兩個timeit的輸出,下同。由此可見后者慢一個數量級。

使用dict或set查找元素

python dict和set都是使用hash表來實現(類似c++11標準庫中unordered_map),查找元素的時間復雜度是O(1)

a = range(1000)s = set(a)d = dict((i,1) for i in a)%timeit -n 10000 100 in d%timeit -n 10000 100 in s10000 loops, best of 3: 43.5 ns per loop10000 loops, best of 3: 49.6 ns per loop

dict的效率略高(占用的空間也多一些)。

合理使用生成器(generator)和yield

%timeit -n 100 a = (i for i in range(100000))%timeit -n 100 b = [i for i in range(100000)]100 loops, best of 3: 1.54 ms per loop100 loops, best of 3: 4.56 ms per loop

使用()得到的是一個generator對象,所需要的內存空間與列表的大小無關,所以效率會高一些。在具體應用上,比如set(i for i in range(100000))會比set([i for i in range(100000)])快。

但是對于需要循環遍歷的情況:

%timeit -n 10 for x in (i for i in range(100000)): pass%timeit -n 10 for x in [i for i in range(100000)]: pass10 loops, best of 3: 6.51 ms per loop10 loops, best of 3: 5.54 ms per loop

后者的效率反而更高,但是如果循環里有break,用generator的好處是顯而易見的。yield也是用于創建generator:

def yield_func(ls): for i in ls: yield i+1def not_yield_func(ls): return [i+1 for i in ls]ls = range(1000000)%timeit -n 10 for i in yield_func(ls):pass%timeit -n 10 for i in not_yield_func(ls):pass10 loops, best of 3: 63.8 ms per loop10 loops, best of 3: 62.9 ms per loop

對于內存不是非常大的list,可以直接返回一個list,但是可讀性yield更佳(人個喜好)。

python2.x內置generator功能的有xrange函數、itertools包等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91sa在线看| 亚洲免费伊人电影在线观看av| 久久影视三级福利片| 国产精品视频一区二区三区四| 国产精品丝袜久久久久久高清| 亚洲娇小xxxx欧美娇小| 国产精品成人在线| 69av成年福利视频| 一二美女精品欧洲| 亚洲图片欧美午夜| 中文字幕国产亚洲2019| 亚洲色图五月天| 欧美激情久久久久久| …久久精品99久久香蕉国产| 日韩在线激情视频| 中文字幕日韩电影| 韩剧1988免费观看全集| 国产精品视频yy9099| 国产视频精品一区二区三区| 亚洲国产私拍精品国模在线观看| 国产精品美女免费看| 91精品国产精品| 亚洲高清在线观看| 狠狠久久五月精品中文字幕| 亚洲天堂开心观看| 91精品国产色综合久久不卡98| 高跟丝袜一区二区三区| 日韩欧美在线中文字幕| 欧美亚洲一区在线| 中文字幕欧美亚洲| 日本久久久久亚洲中字幕| 久久综合九色九九| 亚洲第一网站男人都懂| 国产丝袜一区二区三区| 91视频国产一区| 久久久久久久久久久久久久久久久久av| 欧美激情一区二区三区在线视频观看| 欧美在线视频一区二区| 久热爱精品视频线路一| 在线播放国产精品| 51视频国产精品一区二区| 欧美国产日韩二区| 色综合亚洲精品激情狠狠| 欧美怡春院一区二区三区| 91中文在线观看| 亚洲国产精品人人爽夜夜爽| 日韩午夜在线视频| 成人在线观看视频网站| 菠萝蜜影院一区二区免费| 性色av一区二区三区在线观看| 国产狼人综合免费视频| 欧美怡红院视频一区二区三区| 国产精品一区二区电影| 国产精品第10页| 国产97在线视频| 亚洲人成电影网站色www| 国产在线拍偷自揄拍精品| 欧美精品福利在线| 日韩欧美999| 奇米一区二区三区四区久久| 人人做人人澡人人爽欧美| 成人黄色av网| 成人免费看黄网站| 狠狠色狠狠色综合日日小说| 国产欧美精品一区二区三区介绍| 亚洲xxxxx性| 亚洲国产精品大全| 狠狠躁夜夜躁人人爽天天天天97| 久久亚洲精品毛片| 亚洲新中文字幕| 国产人妖伪娘一区91| 久久免费精品日本久久中文字幕| 亚洲成人久久久久| 日本久久中文字幕| 久久久久久久一区二区三区| 欧美精品在线免费观看| 日韩欧美在线视频观看| 欧美精品videossex88| 全亚洲最色的网站在线观看| 91精品国产自产在线观看永久| 久久av中文字幕| 成人欧美一区二区三区在线湿哒哒| 欧美一级视频在线观看| 亚洲欧美在线x视频| 国产精品久久久久久久久影视| 欧美在线性视频| 久久久久久九九九| 亚洲精品久久久久中文字幕欢迎你| 清纯唯美日韩制服另类| 亚洲天堂男人天堂| 浅井舞香一区二区| 亚洲精品成人久久久| 91丝袜美腿美女视频网站| 亚洲字幕一区二区| 国产视频精品xxxx| 美女视频黄免费的亚洲男人天堂| 亚洲成人精品久久久| 日韩小视频在线| 国产精品视频精品| 国产一区欧美二区三区| 日韩国产一区三区| 久久精品一本久久99精品| 国产精品白丝jk喷水视频一区| 欧美高清在线播放| 亚洲成人精品av| 久久国产精品久久精品| 国产精品999999| 国产亚洲欧美一区| 久久精品久久久久| 国产精品入口日韩视频大尺度| 亚洲乱码av中文一区二区| 国产一区玩具在线观看| 亚洲第一区第二区| 久久久国产精品亚洲一区| 97精品久久久| 久久久久北条麻妃免费看| 国产精品成av人在线视午夜片| 日韩经典一区二区三区| 国产成人短视频| 久久视频在线看| 欧美最猛性xxxx| 日韩精品久久久久久久玫瑰园| 7777精品久久久久久| 上原亚衣av一区二区三区| 亚洲国产成人一区| 亚洲最新视频在线| 国产精品视频xxx| 亚洲国产精品人人爽夜夜爽| 久久久久久亚洲精品中文字幕| 亚洲级视频在线观看免费1级| 成人免费淫片aa视频免费| 亚洲欧美国产日韩天堂区| 在线日韩中文字幕| 91中文在线观看| 欧美日韩电影在线观看| 大量国产精品视频| 久久久日本电影| 久久精品99无色码中文字幕| 奇门遁甲1982国语版免费观看高清| 在线观看日韩专区| 91色中文字幕| 日本欧美一级片| 久久影视电视剧免费网站清宫辞电视| 最近2019中文免费高清视频观看www99| 中文字幕九色91在线| 日韩中文字幕免费| 97av在线视频| 日韩高清免费在线| 色婷婷综合成人| 人人爽久久涩噜噜噜网站| 91在线直播亚洲| 欧美另类高清videos| 亚洲精品www久久久| 欧美另类交人妖| 日韩免费看的电影电视剧大全| 欧美精品免费看| 国产日产欧美精品| 国产成人一区二区三区电影| 国内精品久久久久影院优| 欧美视频二区36p| 尤物yw午夜国产精品视频明星| 日韩网站在线观看| 欧洲亚洲女同hd| 亚洲一区二区免费在线|