首頁 > 後端開發 > Python教學 > 如何辨識Python清單中的連續數字組?

如何辨識Python清單中的連續數字組?

Patricia Arquette
發布: 2024-12-20 15:11:10
原創
679 人瀏覽過

How to Identify Consecutive Number Groups in Python Lists?

辨識連續的數字群組

在Python中,辨識清單中的連續數位群組可以使用groupby( ) 功能。它的工作原理如下:

itertools.groupby() 函數

groupby() 函數根據關鍵函數將可迭代物件的元素分組。在本例中,我們定義一個關鍵函數來計算元素的索引與其值之間的差。連續的數字將具有相同的鍵,從而進行分組。

程式碼實作:

考慮範例清單 [2, 3, 4, 5, 12, 13 、14、15、16、17、20]。下面的程式碼利用groupby() 來辨識連續的數字群組:

理解關鍵函數:

lambda 函數(lambda (i, x): i - x) 計算元素索引(i) 和值(x) 之間的差。這種差異使我們能夠將連續的數字分組在一起。例如,對於數字 2,差值為 0,對於數字 12,差值為 10。

處理分組元素:

對於每個key(差異),groupby() 產生一個包含對應分組元素的生成器物件 (g)。我們使用 map() 和 itemgetter() 將此生成器轉換為列表,以僅提取元素值。

過濾與附加結果:

我們檢查分組的元素判斷是否大於1,表示連續的數字。如果是這樣,我們將群組中第一個和最後一個元素的元組附加到範圍清單中。對於單一數字,我們附加數字本身。

輸出:

範圍清單將包含以下連續數字群組:

以上是如何辨識Python清單中的連續數字組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板