前言Python毫無疑問是一門很偉大的語言,最近幾年,很多人都在Python的世界里轉(zhuǎn)悠。很多小白在成長的路上,做一些練手的項(xiàng)目就顯得尤為重要。一來讓你知道你所學(xué)習(xí)的Python真的只是皮毛,二來鞏固一下你所學(xué)習(xí)的基礎(chǔ)知識。 對于Python學(xué)習(xí)者來說,能夠熟練的掌握Python中簡潔而高效的編程技巧,不僅能夠提升程序的效率,更重要的是體現(xiàn)出編程者高超的編程能力。 ![]() 今天,小編就為大家分享十個(gè)Python的小案例。案例雖小,但是卻蘊(yùn)含著Python編程的技巧,一起來看看吧。 1.判斷一個(gè)列表中的數(shù)值是否全部小于某個(gè)數(shù) 面對這個(gè)問題,其實(shí)常見的有2種解法 方法1:最直觀的程序就是一個(gè)一個(gè)去判斷列表中的元素是否是小于某個(gè)數(shù)值,這樣的方法最容易想到,但是程序很冗雜。 方法2:則是利用了兩個(gè)Python內(nèi)置函數(shù)+Python匿名函數(shù),一行代碼即可輕松的解決。 2.對列表中的字符串按照特定要求進(jìn)行排序 對于列表中的字符串進(jìn)行排序,對于排序算法比較熟悉的小伙伴,都會想到利用排序算法來解決,例如方法一就是利用的冒泡排序進(jìn)行解決; 而方法2僅僅利用內(nèi)置函數(shù)sorted一行代碼即可解決。不僅如此,對于排序的關(guān)鍵詞指定方面,還可以自己設(shè)置排序的函數(shù),例如上面的firstC函數(shù),按照字符串的首字母進(jìn)行排序。 3.按照鍵或者數(shù)值對字典進(jìn)行排序 按照鍵或者值對字典進(jìn)行排序 方法1:可以利用sorted內(nèi)置函數(shù)進(jìn)行排序后,再轉(zhuǎn)換成字典形式。這樣的方式在轉(zhuǎn)換的過程中會造成空間資源的浪費(fèi)。 方法2:則是直接利用了對于鍵或者值進(jìn)行排序,再利用排序后的鍵或者是值來構(gòu)造最終的字典,且程序簡潔。 4.將列表中的數(shù)字轉(zhuǎn)換成字符串 上述的兩種方法中,小編個(gè)人認(rèn)為都是很不錯的方法,方法1利用的是列表解析方案,通過循環(huán)迭代的方式產(chǎn)生新的列表。方法2利用的是map內(nèi)置函數(shù),將列表中的數(shù)字轉(zhuǎn)換為字符串。 5.判斷列表中的元素是否都屬于一個(gè)類型 方法1:采用的方法是逐個(gè)的判斷列表中的每一個(gè)元素,如果有任一個(gè)元素不是字符串,則輸出False。當(dāng)全部循環(huán)結(jié)束后,如果index數(shù)值等于列表總長度,則輸出True。
6.反轉(zhuǎn)列表 方法1:用到的方法是創(chuàng)建一個(gè)新的列表對象,并將list6中的元素按照從后向前的方式添加到新列表中。 方法2:則有兩種方式,第一種方式是利用列表切片的方法,獲取反轉(zhuǎn)的列表。第二種方式是利用列表的reverse函數(shù),但是reverse函數(shù)只能在原列表中進(jìn)行修改,不能創(chuàng)建一個(gè)新的列表。 7.從可迭代對象中隨機(jī)選擇一個(gè)元素 在Python中進(jìn)行隨機(jī)數(shù)值的選擇,可以利用Python的內(nèi)置庫random,上圖函數(shù)中,choice函數(shù)是從列表中隨機(jī)選擇一個(gè)數(shù)值,choices函數(shù)又放回的選擇k個(gè)數(shù)值,sample則是無放回的選擇k個(gè)數(shù)值。 8.利用列表創(chuàng)建字典 方法1:利用列表創(chuàng)建字典,利用for循環(huán)的方式,在字典中創(chuàng)建鍵值對的item。 方法2:利用zip內(nèi)置函數(shù),創(chuàng)建一個(gè)zip對象,并利用dict函數(shù)將zip對象轉(zhuǎn)化為字典,一行代碼搞定。 9.篩選出以元音字母開頭的字符串 方法1:對于list9中的每個(gè)字符串元素進(jìn)行判斷處理,如果字符串的第一個(gè)字母是原因字母,則將該字符串添加到新的列表new_list9中。 方法2:直接利用了列表解析或者是通過filter函數(shù)來過濾list9中滿足匿名函數(shù)的元素,相比于map函數(shù),filter函數(shù)能夠直接過濾出來滿足條件的元素值。 10.創(chuàng)建一個(gè)計(jì)數(shù)字典 創(chuàng)建一個(gè)數(shù)值統(tǒng)計(jì)的字典 方法1:首先創(chuàng)建一個(gè)字典,字典的鍵包含了list10中所有出現(xiàn)過的元素,然后逐一統(tǒng)計(jì)列表中元素出現(xiàn)的次數(shù)。 方法2:是借用了collections庫中的Counter類,直接統(tǒng)計(jì)list10中元素的個(gè)數(shù),然后利用dict函數(shù)來講Counter對象轉(zhuǎn)化為字典對象。 總結(jié)通過上述的十個(gè)小案例的分享,可以看到,每個(gè)案例中都蘊(yùn)含著利用Python的內(nèi)置函數(shù)來優(yōu)化程序的智慧,平時(shí)大家在程序編寫的過程中,也要善于挖掘和思考, 如何充分利用Python的現(xiàn)有函數(shù)來讓自己的程序更加的優(yōu)美。 這不僅能夠提升程序的美感,還能提升程序的運(yùn)行效率,特別是針對于大量數(shù)據(jù)的處理過程。 上面這幾道題目看起來很簡單易懂,但是解法就是沒有別人的簡潔巧妙!就好像廚藝大賽,看似一道簡單的蛋炒飯其實(shí)是非常考驗(yàn)功底的!編程本身就是蘊(yùn)含算法+數(shù)據(jù)結(jié)構(gòu)的融合,大家有空可以多學(xué)習(xí)學(xué)習(xí)優(yōu)秀的代碼,對自己學(xué)習(xí)提升都大有好處! Ps:這里都是視頻學(xué)習(xí)資料,基礎(chǔ)不好或者零基礎(chǔ)的同學(xué)比較適合私信我 ……666 領(lǐng)取 |
|