先嘗試優(yōu)化程序的時(shí)間復(fù)雜度,尋找更有效的算法
確保了算法復(fù)雜度在可接受范圍之內(nèi)后,開(kāi)始進(jìn)行常數(shù)優(yōu)化,以下是Python優(yōu)化的幾個(gè)小技巧:
實(shí)測(cè)表明,for語(yǔ)句一般比while語(yǔ)句效率更高
同樣實(shí)測(cè)表明,xrange一般比range要高效
如果要存儲(chǔ)動(dòng)態(tài)數(shù)據(jù)(即有可能頻繁變動(dòng)的數(shù)據(jù))少用list和str,多用dict
實(shí)測(cè)表明,
兩個(gè)str的連接效率從高到低+=,join,+
多個(gè)str的連接效率從高到低join,+=,+
盡可能使用列表解析表達(dá)式和生成器表達(dá)式代替循環(huán)一遍來(lái)構(gòu)建list
避免使用global關(guān)鍵字,無(wú)論是從代碼效率還是可移植性的方面考慮