新聞中心
很多小伙伴私信芒果,有一些在問一些入門的問題,有一些在問如何學(xué)習(xí)Python.

成都創(chuàng)新互聯(lián)公司擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站維護、雙線服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護服務(wù)覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球成百上千企業(yè)提供全方位網(wǎng)站維護、服務(wù)器維護解決方案。
其實Python是入門容易精通難,大家平時要養(yǎng)成記錄的習(xí)慣,好的代碼要記錄下來,學(xué)會總結(jié),經(jīng)常翻一翻會有收獲!今天我來分享一些我自己記錄的代碼結(jié)構(gòu),歡迎拍磚!
01.簡潔的表達式
點評:Python因為簡潔高效而出名,就是因為語法非常簡單,而且內(nèi)置了很多強大的數(shù)據(jù)結(jié)構(gòu):
- 比如我們可以大量用推導(dǎo)列表來生成很多簡潔的代碼
- 比如我們可以用if else組合,本來需要2-3行代碼寫的,一行搞定!
02.排序
忽略想起了一句臺詞,“有人的地方就有江湖”,那么有數(shù)組這樣的數(shù)據(jù)結(jié)構(gòu)一定涉及到排序,取最大值,取最小值。
點評:這個heapq庫非常好用,尤其是我們在取一些列表的頭部數(shù)據(jù),比如最大幾個,最小幾個經(jīng)常用到,很實用的一招!啥也不說了,趕緊背下來!
03.查詢
排序和查詢都是好基友,長的數(shù)據(jù)結(jié)構(gòu)里面(字典,列表)里面我們一定會有查詢,過濾的需求。有的時候,我們需要從一個很長的列表里面,找到某一個或者某一類的元素,怎么辦,很簡單,用高級函數(shù)filter :
1).用lambda配合filter過濾
點評:lambda是一個非常簡潔的函數(shù)表達方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我們通過 字符串里的startswith內(nèi)置函數(shù),非常方便的過濾出列表里面我們需要的數(shù)據(jù)!(Python3稍微改一下再filter之外再加一個list,不然生成的是迭代器地址)
點評:正則是一個非常不錯的過濾方法,有的時候好的正則頂?shù)纳蠋资写a,精通正則對玩數(shù)據(jù)分析,數(shù)據(jù)清洗是必需的技能!
04.碾平list
有的時候我們會遇到復(fù)雜的數(shù)據(jù)結(jié)構(gòu),比如列表里面套列表,層層嵌套,非常麻煩。有幾種方法可以碾平:
1).第一種傳統(tǒng)方法
點評:這里面就是用遞歸來解決的,思路非常簡單清晰,但是遞歸一定要有出口,設(shè)計的時候要注意。
2).下面兩種都是高手的寫法:
.
點評:這兩招看上去非常簡單,實際上理解起來很復(fù)雜,把很多技巧結(jié)合在一行里面,反正第二種我還能接受,第三種口味太重了,看的有點暈!
05.帶條件的推導(dǎo)列表
推導(dǎo)列表應(yīng)該是我最喜歡的一種Pythonic方式,它的演變有很多手法,這幾種都是非常常見的,多讀幾遍,背下來!
06.漂亮的添加字典的方法
設(shè)計數(shù)據(jù)結(jié)構(gòu)的時候,字典是必須的!很多時候我們會用帶下面的字典更新的方法,當(dāng)然更好的是collections模塊里面的defaultdict!
點評:dict.update還是比較平易近人的,這個dict(dict,**options)用法我第一次看到的時候也是楞了一些,什么鬼,現(xiàn)在見多了,也就習(xí)慣了!
Python入門容易精通難,平時遇到優(yōu)秀的代碼一定要勤做筆記,不定時拿出來翻一翻,一定對你功力增長大有裨益!
網(wǎng)頁題目:我珍藏的一些好的Python代碼,技巧
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/cosicih.html


咨詢
建站咨詢
