分享Python中四個(gè)不常見(jiàn)的小技巧
1. 引言
在編程界,每個(gè)人都希望自己可以寫(xiě)出世界上最好的代碼,其實(shí)最好的代碼往往需要具備最好的代碼質(zhì)量。勤能補(bǔ)拙,善于總結(jié)往往可以快速提升大家的編程技巧。 本文重點(diǎn)對(duì)日常中不常使用的四個(gè)Python技巧進(jìn)行簡(jiǎn)明闡述,希望可以提升大家編碼時(shí)的工作效率。 閑話少說(shuō),我們直接開(kāi)始吧!
2. 獲取 n 個(gè)最大數(shù)字
我們知道,要獲得列表中的最大數(shù)字,我們往往使用??max??函數(shù),
如下:
max([15, 21, 30, 20]) # ouput: 30
但是如果我們將其進(jìn)行擴(kuò)展,獲取n個(gè)最大數(shù)字的列表呢?學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)的同學(xué),也許能想到來(lái)構(gòu)建大頂堆數(shù)據(jù)結(jié)構(gòu),嗯嗯,在Python中有一個(gè)名為??heapq??的模塊,可以非常方便的來(lái)實(shí)現(xiàn)上述功能。
如下所示:
import heapq heap = [10, 5, 18, 1, 100] # heapq.nlargest(n, iterable) n_largest_numbers = heapq.nlargest(3, heap) # show result print(n_largest_numbers)
結(jié)果輸出如下:
[100, 18, 10]
3. 獲取 n 個(gè)最小數(shù)字
正如我們對(duì)??max??函數(shù)了解的一樣,我們可以知道??min??函數(shù)的作用:
min([15, 21, 30, 20]) # ouput: 15
大家知道數(shù)據(jù)結(jié)構(gòu)中通過(guò)構(gòu)建大頂堆可以方便的求出n個(gè)最大數(shù)字,所以我們也可以通過(guò)小頂堆來(lái)獲取n個(gè)最小數(shù)字,舉例如下:
import heapq heap = [10, 5, 18, 1, 100, 8, 7] # heapq.nsmallest(n, iterable) n_smallest_numbers = heapq.nsmallest(4, heap) # show result print(n_smallest_numbers)
輸出如下:
[1, 5, 7, 8]
4. 刪除字符串的特定部分
假設(shè)我們有字符串??+-+-+Python??,如果此時(shí)我們只需要獲取上述字符串中的部分即??Python??,此時(shí)我們可以使用python字符串模塊中的??removeprefix??函數(shù),
示例如下:
myString = "+-+-+Python"
new_string = myString.removeprefix("+-+-+")
# show result
print(new_string)輸出如下:
Python
5. 從列表中刪除重復(fù)元素
為了實(shí)現(xiàn)從列表中刪除重復(fù)元素,也許我們知道可以通過(guò)集合進(jìn)行轉(zhuǎn)換,如下:
li = [10, 15, 10, 10, 5, 5] without_duplicates = list(set(li)) print(without_duplicates)
輸出如下:
[10, 5, 15]
但是上述實(shí)現(xiàn)并不是非常專業(yè)的實(shí)現(xiàn),因?yàn)檩敵鼋Y(jié)果沒(méi)有按原先次序輸出,所以讓我向大家展示第二種方式:
li = [10, 15, 10, 10, 5, 5] without_duplicates = dict.fromkeys(li) print(list(without_duplicates))
輸出如下:
[10, 15, 5]
6. 總結(jié)
python中的一些技巧可以幫助我們編寫(xiě)更高效的代碼。本文中我們介紹了四個(gè)小技巧可以幫助我們做一些了不起的事情。最后希望大家可以喜歡我寫(xiě)的簡(jiǎn)單的小文章,并確??梢詫W(xué)到新的東西。
到此這篇關(guān)于分享Python中四個(gè)不常見(jiàn)的小技巧的文章就介紹到這了,更多相關(guān)Python不常見(jiàn)技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3解析庫(kù)BeautifulSoup4的安裝配置與基本用法
簡(jiǎn)單來(lái)說(shuō),BeautifulSoup就是Python的一個(gè)HTML或XML的解析庫(kù),我們可以用它來(lái)方便地從網(wǎng)頁(yè)中提取數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于python3解析庫(kù)BeautifulSoup4的安裝配置與基本用法的相關(guān)資料,需要的朋友可以參考下2018-06-06
python查詢文件夾下excel的sheet名代碼實(shí)例
這篇文章主要介紹了python查詢文件夾下excel的sheet名方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Python如何使用logging為Flask增加logid
這篇文章主要介紹了Python如何使用logging為Flask增加logid,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別功能
這篇文章給大家介紹了如何基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別功能,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12
Pycharm學(xué)習(xí)教程(4) Python解釋器的相關(guān)配置
這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第四篇,Python解釋器配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過(guò)程分析(顯卡MX250+CUDA9.
這篇文章主要介紹了Win10下安裝并使用tensorflow-gpu1.8.0+python3.6全過(guò)程(顯卡MX250+CUDA9.0+cudnn),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

