溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中不常見的技巧實例分析

發(fā)布時間:2022-08-01 13:46:41 來源:億速云 閱讀:132 作者:iii 欄目:開發(fā)技術

本篇內(nèi)容主要講解“Python中不常見的技巧實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中不常見的技巧實例分析”吧!

1. 引言

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

2. 獲取 n 個最大數(shù)字

我們知道,要獲得列表中的最大數(shù)字,我們往往使用max函數(shù),

如下:

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

但是如果我們將其進行擴展,獲取n個最大數(shù)字的列表呢?學過數(shù)據(jù)結構的同學,也許能想到來構建大頂堆數(shù)據(jù)結構,嗯嗯,在Python中有一個名為heapq的模塊,可以非常方便的來實現(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)

結果輸出如下:

[100, 18, 10]

3. 獲取 n 個最小數(shù)字

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

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

大家知道數(shù)據(jù)結構中通過構建大頂堆可以方便的求出n個最大數(shù)字,所以我們也可以通過小頂堆來獲取n個最小數(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. 刪除字符串的特定部分

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

示例如下:

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

輸出如下:

Python

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

為了實現(xiàn)從列表中刪除重復元素,也許我們知道可以通過集合進行轉(zhuǎn)換,如下:

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

輸出如下:

[10, 5, 15]

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

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

輸出如下:

[10, 15, 5]

到此,相信大家對“Python中不常見的技巧實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI