首頁 > 軟體

分享Python中四個不常見的小技巧

2022-08-01 18:05:08

1. 引言

在程式設計界,每個人都希望自己可以寫出世界上最好的程式碼,其實最好的程式碼往往需要具備最好的程式碼質量。勤能補拙,善於總結往往可以快速提升大家的程式設計技巧。 本文重點對日常中不常使用的四個Python技巧進行簡明闡述,希望可以提升大家編碼時的工作效率。 閒話少說,我們直接開始吧!

2. 獲取 n 個最大數位

我們知道,要獲得列表中的最大數位,我們往往使用​​max​​函數,

如下:

max([15, 21, 30, 20])
# ouput: 30

但是如果我們將其進行擴充套件,獲取n個最大數位的列表呢?學過資料結構的同學,也許能想到來構建大頂堆資料結構,嗯嗯,在Python中有一個名為​​heapq​​的模組,可以非常方便的來實現上述功能。

如下所示:

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)

結果輸出如下:

[100, 18, 10]

3. 獲取 n 個最小數位

正如我們對​​max​​函數了解的一樣,我們可以知道​​min​​函數的作用:

min([15, 21, 30, 20])
# ouput: 15

大家知道資料結構中通過構建大頂堆可以方便的求出n個最大數位,所以我們也可以通過小頂堆來獲取n個最小數位,舉例如下:

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. 刪除字串的特定部分

假設我們有字串​​+-+-+Python​​,如果此時我們只需要獲取上述字串中的部分即​​Python​​,此時我們可以使用python字串模組中的​​removeprefix​​函數,

範例如下:

myString = "+-+-+Python"
new_string = myString.removeprefix("+-+-+")
# show result
print(new_string)

輸出如下:

Python

5. 從列表中刪除重複元素

為了實現從列表中刪除重複元素,也許我們知道可以通過集合進行轉換,如下:

li = [10, 15, 10, 10, 5, 5]
without_duplicates = list(set(li))
print(without_duplicates)

輸出如下:

[10, 5, 15]

但是上述實現並不是非常專業的實現,因為輸出結果沒有按原先次序輸出,所以讓我向大家展示第二種方式:

li = [10, 15, 10, 10, 5, 5]
without_duplicates = dict.fromkeys(li)
print(list(without_duplicates))

輸出如下:

[10, 15, 5]

6. 總結

python中的一些技巧可以幫助我們編寫更高效的程式碼。本文中我們介紹了四個小技巧可以幫助我們做一些了不起的事情。最後希望大家可以喜歡我寫的簡單的小文章,並確保可以學到新的東西。

到此這篇關於分享Python中四個不常見的小技巧的文章就介紹到這了,更多相關Python不常見技巧內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com