Python3實用編程技巧+案例
程序員修鍊營
免費分享最新的編程資源、實用工具等。
最近這幾天為了給大家寫幾篇Python的文章,營長特意重新拾起了好久沒玩的Python,給大家整理了Python常用的一些編程技巧。
下面就是幾個常用的很簡單的Python技巧,如果你還沒了解過,建議收藏一下,希望你能學到這一波操作。
文末附上了一些新更新的Python學習資源哦~
一、如何在列表,字典,集合中根據條件篩選數據?
問題1:
如何過濾掉列表[3,9,-1,10,20,-2]中的負數?
解決方法:
在Python中可以使用函數式編程,列表解析,字典解析集合解析等方式進行篩選。
1)最通常的方法:迭代
2)使用filter函數
注意Python3中的filter函數返回的對象從列表改為了Iterator(迭代器),因此如果想返回一個列表,就要加上list()
3)列表解析
結果和使用filter函數相同,但是使用列表解析所需的時間要比使用filter快很多,所以首選的方式就是列表解析,另外這兩種方式都遠快於迭代的方式。
問題2:
如何篩選出字典中值高於90的項?
解決方法:
問題3:
如何篩選出集合中能被3整除的元素?
解決方法:
二、如何為元組中的每個元素命名,提高程序的可讀性?
實際案例:
如學生信息管理系統中數據為固定格式:
(名字,年齡,性別...)
學生數量很大,為了減少存儲開銷,對每個學生信息採用元組表示:
(『jam』,16,』male』)
(『tom』,18,』male』)
(『july』,19,』female』)
...
訪問元組時,需要使用索引(index)來訪問,
如一個學生元組為student = ("jam",19,"male"),那麼想要訪問其名字時要使用student[0],訪問其性別時要使用student[2]
由此帶來的問題是大量的索引會降低程序的可讀性,
那麼如何來解決這個問題呢?
有兩種解決方案:
方案1:定義枚舉類型,也就是定義一系列數值常量
方案2:使用標準庫中collections.namedtuple替代內置的tuple
三、如何統計序列中元素的出現頻度?
問題1:
某隨機序列[12,5,6,4,6,5,5,7,...]中,找到出現次數最高的3個元素,它們出現次數是多少?
解決方法:
統計元素出現的次數
為了找出出現次數最高的三個元素,可以使用collections.Counter對象,將序列傳入Counter的構造器,得到Counter對象是元素頻率的字典。Counter.most_common(n)方法得到頻率最高的n個元素的列表。
問題2:
對某英文文章的單詞進行詞頻統計,找到出現次數最高的3個單詞?
四、如何根據字典中值的大小,對字典中的項進行排序?
案例:
某班英語成績以字典形式存儲為:
{『LiLei』:79,』Jim』:88,』Lucy』:92...}
要根據成績高低,計算學生排名
解決方法:
使用Python的內置函數sorted進行排序,sorted函數通常用於對列表的排序,如sorted([2,1,5,9,3])
若對字典進行排序可先利用zip將字典數據轉化為元組在進行排序。
第二種方式可以通過傳遞sorted函數的key參數進行排序
好啦,由於時間有限,今天暫時先給大家分享這幾個技巧,如果大家喜歡的話,後面我還會再整理分享一期,敬請關注!
福利時刻:
最後給大家整理了一些Python相關的資源,如果大家還需要什麼資源,都可以加我微信反饋,公眾號里什麼資料都有,我會陸續整理送給大家的,搜索lovebugs88即可加到營長的微信。
這次的彩蛋包括 「史上最全的Python學習資料 PDF電子書 大合集」、「Python3網路爬蟲實戰」、「零基礎入門學習Python視頻教程全套96集」、「Python數據分析與建模庫」。


※Pycharm激活、配置以及快捷方式
※厲害了,我的Python!
TAG:Python |