看板 Python 關於我們 聯絡資訊
請問各位假使今天我有一串數字存入list中 可能是 ['1','2','3','50','4'] 或['48','5','6','7','8'] 即list中可能會出現一兩個非連續的數字 請問要怎麼把非連續的數字剔除阿? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.233.230 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1493694461.A.A30.html
day831231: 先排序 05/02 11:25
leo850611: 每次讀三個數字,第二個大於第三個時,第二即為非連續 05/02 11:37
kita: [1,3,2,4,5,6,7] 跑出來結果是什麼? 05/02 14:49
minikai: 判斷前面跟後面是不是都差1 05/02 20:27
painkiller: 1. a = sort([int(i) for i in a]) 05/03 09:25
painkiller: 2. [a[i] for i in range(len(a)) if a[i] == a[0]+i] 05/03 09:26
painkiller: 一定要用str存數字的話再轉回去就好了 05/03 09:27
kita: 樓上最小值是非連續數字的時候會出錯? 05/03 13:53
s860134: 恩 問題是 [1,2,5,6,7] 這樣 1,2 算是非連續嘛? 05/04 08:22
s860134: 哈 3樓提出一樣的問題 05/04 08:23
m87dd05: 我的問題比較單純些,不會出現[1,2,5,6,7]這種狀況,都是 05/05 16:31
m87dd05: 一連串數字間會出現一些非連續的數字,那這些非連續數字也 05/05 16:32
m87dd05: 不大可能出現剛好是連續的,所以我後來參考d大跟l大做法, 05/05 16:33
m87dd05: 先排序後由最後面扣倒數第二個數看是不是差1 05/05 16:33