你必須掌握的20個Python代碼,短小精悍,用處無窮
當今python編程語言的潮流已經(jīng)成為不可阻擋的趨勢,python以其較高的可讀性和簡潔性備受程序員的喜愛。而python編程中的一些小的技巧,運用的恰當,會讓你的程序事半功倍。
以下的20個小的程序段,看似非常的簡單,但是卻非常的有技巧性,并且對個人的編程能力是一個很好的檢驗,大家應該在日常的編程中多多使用,多多練習。
1.字符串的翻轉(zhuǎn)
字符串的翻轉(zhuǎn),首先最簡單的方法就是利用切片的操作,來實現(xiàn)翻轉(zhuǎn),其次可以利用reduce函數(shù)來實現(xiàn)翻轉(zhuǎn),在python3中,reduce函數(shù)需要從functools中進行導入。
2.判斷字符串是否是回文
該例也可以看作是第一例的應用,利用字符串的翻轉(zhuǎn)來判斷字符是否是回文字符串。
3.單詞大小寫
面對一個字符串,想將里面的單詞首字母大寫,只需要調(diào)用title()函數(shù),而所有的字母大寫只需要調(diào)用upper()函數(shù),字符串首字母大寫則是調(diào)用capitalize()函數(shù)即可。
4.字符串的拆分
字符串的拆分可以直接利用split函數(shù),進行實現(xiàn),返回的是列表,而strip函數(shù)用于移除字符串頭尾指定的字符(默認為空格或換行符)。
5.將列表中的字符串合并
這一條可以認為是第4條的反例,這里是將列表中的字符串合并為字符串。第4條可以與第5條結(jié)合,來去除字符串中不想留下的項。
6.尋找字符串中唯一的元素
在python中,對于唯一值的篩查,首先應該想到對于set的利用,set可以幫助我們快速的篩查重復的元素,上述程序中,set不僅可以對字符串,而且還可以針對列表進行篩查。
7.將元素進行重復
將元素進行重復,可以采用“乘法”的形勢,直接乘以原來的元素,也可以采用“加法”的形式,更方便理解。
8.基于列表的擴展
基于列表的擴展,可以充分利用列表的特性和python語法的簡潔性,來產(chǎn)生新的列表,或者將嵌套的列表進行展開。
9. 將列表展開
首先,方法1中 ,我們調(diào)用的是iteration_utilities 中的deepflatten函數(shù),第二種方法直接采用遞歸的方法,我們自己來實現(xiàn)復雜列表的展平,便可以得到展開后的列表。
10.二值交換
Python中的二值交換,可以直接采用交換的方式,如上圖的方法1,而方法2所示的方法,借助第三個變量,來實現(xiàn)了兩個數(shù)值的交換。
11.統(tǒng)計列表中元素的頻率
我們可以直接調(diào)用collections中的Counter類來統(tǒng)計元素的數(shù)量,當然也可以自己來實現(xiàn)這樣的統(tǒng)計,但是從簡潔性來講,還是以Counter的使用比較方便。
12.判斷字符串所含元素是否相同
Counter函數(shù)還可以用來判斷字符串中包含的元素是否相同,無論字符串中元素順序如何,只要包含相同的元素和數(shù)量,就認為其是相同的。
13.將數(shù)字字符串轉(zhuǎn)化為數(shù)字列表
上述程序中,方法1利用的map函數(shù),map函數(shù)可以將str19中的每個元素都執(zhí)行int函數(shù),其返回的是一個迭代器,利用list函數(shù)來將其轉(zhuǎn)化為列表的形式。注意,在python2中執(zhí)行map函數(shù)就會直接返回列表,而python3做了優(yōu)化,返回的是迭代器,節(jié)省了內(nèi)存。
14.使用try-except-finally模塊
當我們在執(zhí)行程序時,可能會遇到某些不可預知的錯誤,使用try-except可以幫助我們?nèi)ゲ东@這些錯誤,然后輸出提示。注意,如果需要程序無論是否出錯,都要執(zhí)行一些程序的化,需要利用finally來實現(xiàn)。
15. 使用enumerate() 函數(shù)來獲取索引-數(shù)值對
enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如上圖的列表,字符串)組合為一個索引序列。
16.代碼執(zhí)行消耗時間
利用time()函數(shù),在核心程序開始前記住當前時間點,然后在程序結(jié)束后計算當前時間點和核心程序開始前的時間差,可以幫助我們計算程序執(zhí)行所消耗的時間。
17.檢查對象的內(nèi)存占用情況
在python中可以使用sys.getsizeof來查看元素所占內(nèi)存的大小。
18.字典的合并
在python3中,提供了新的合并字典的方式,如方法1所示,此外python3還保留了python2的合并字典的方式,如方法2所示。
19.隨機采樣
使用random.sample()函數(shù),可以從一個序列中選擇n_samples個隨機且獨立的元素。
20.檢查唯一性
通過檢查列表長度是否與set后的列表長度一致,來判斷列表中的元素是否是獨一無二的。
這20個短小精悍的小例子還是非常實用的,尤其是對菜鳥來說,多練習一下對功力提升大有裨益!讀百遍,看千遍,不然自己動手敲一邊。