作者pziyout (pziyout)
看板Python
標題Re: [問題] 刪除不連續數字
時間Tue May 2 17:45:49 2017
※ 引述《m87dd05 (八八里阿巴)》之銘言:
: 請問各位假使今天我有一串數字存入list中
: 可能是 ['1','2','3','50','4']
: 或['48','5','6','7','8']
: 即list中可能會出現一兩個非連續的數字
: 請問要怎麼把非連續的數字剔除阿?
就考慮一個,此不連續數一定是數列的最大值或最小值,
如此程式就很好寫:
a = ['6','1','2','5','3','50','4']
b = list( sorted( map( int , a ) ) )
c = str(b[0]) if b[1] != b[0] + 1 else str(b[-1])
print( list( filter( lambda x : x != c , a ) ) )
輸出:
['6', '1', '2', '5', '3', '4']
如果不是,那這個方法就不適用
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.25.29
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1493718352.A.D36.html
推 CaptainH: 誰說的… 05/02 18:13
→ leo021566: 我看了什麼… 05/02 18:51
→ cybelia: 你看了.. 一篇PTT的有效文章 (無誤 05/04 19:35