1
什麼是將一組整數轉換爲範圍的最常用pythonic方式(對此問題已存在converting a list of integers into range in python)但有某種可接受的邊距?將整數轉換爲範圍但帶有允許的孔
實施例,我們有: 1,2,3,4,5,10,11,15,45,46,47,75,76,80,85
因此通常我們將得到: {1,5},{10,11},{15,15},{45,47},{75,76},{80,80},{85,85}
但我們想允許如果上一個項目與下一個項目之間的差異大於20,則將創建下一個範圍
因此,我們應該得到: {1,15},{45,47},{75, 85}
如果您可以從提供您當前的解決方案開始,我們可以確定是否有更多可用的Pythonic替代方案。 – chepner
如果您正在尋找對工作代碼的評論/改進,那就是http://codereview.stackexchange.com上的主題 – jonrsharpe
我懷疑你是從「填充小於N的序列中的任何孔開始」,然後創建名單。這意味着 - 找到「相反」集 - 數字不包含;使用鏈接中的方法查找運行長度;刪除運行長度大於N的那些;然後合併這兩組。 – Floris