作者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://webptt.com/cn.aspx?n=bbs/Python/M.1493718352.A.D36.html
1F:推 CaptainH: 谁说的… 05/02 18:13
2F:→ leo021566: 我看了什麽… 05/02 18:51
3F:→ cybelia: 你看了.. 一篇PTT的有效文章 (无误 05/04 19:35