[問題] 刪除不連續數字

看板Python作者 (八八里阿巴)時間8年前 (2017/05/02 11:07), 編輯推噓3(3011)
留言14則, 7人參與, 最新討論串1/3 (看更多)
請問各位假使今天我有一串數字存入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

05/02 11:25, , 1F
先排序
05/02 11:25, 1F

05/02 11:37, , 2F
每次讀三個數字,第二個大於第三個時,第二即為非連續
05/02 11:37, 2F

05/02 14:49, , 3F
[1,3,2,4,5,6,7] 跑出來結果是什麼?
05/02 14:49, 3F

05/02 20:27, , 4F
判斷前面跟後面是不是都差1
05/02 20:27, 4F

05/03 09:25, , 5F
1. a = sort([int(i) for i in a])
05/03 09:25, 5F

05/03 09:26, , 6F
2. [a[i] for i in range(len(a)) if a[i] == a[0]+i]
05/03 09:26, 6F

05/03 09:27, , 7F
一定要用str存數字的話再轉回去就好了
05/03 09:27, 7F

05/03 13:53, , 8F
樓上最小值是非連續數字的時候會出錯?
05/03 13:53, 8F

05/04 08:22, , 9F
恩 問題是 [1,2,5,6,7] 這樣 1,2 算是非連續嘛?
05/04 08:22, 9F

05/04 08:23, , 10F
哈 3樓提出一樣的問題
05/04 08:23, 10F

05/05 16:31, , 11F
我的問題比較單純些,不會出現[1,2,5,6,7]這種狀況,都是
05/05 16:31, 11F

05/05 16:32, , 12F
一連串數字間會出現一些非連續的數字,那這些非連續數字也
05/05 16:32, 12F

05/05 16:33, , 13F
不大可能出現剛好是連續的,所以我後來參考d大跟l大做法,
05/05 16:33, 13F

05/05 16:33, , 14F
先排序後由最後面扣倒數第二個數看是不是差1
05/05 16:33, 14F
文章代碼(AID): #1P1_Vzem (Python)
文章代碼(AID): #1P1_Vzem (Python)