python2 list删除部分重复项

lang110001 2018-04-27 06:12:38
例如 a=[1, 1, 1, 1, 1, 5, 5, 5, 5, 1, 1, 5, 5, 1]
b=[1,5,1,5,1]

求助,用python2怎么把a 处理成b呢(顺序一致)?谢谢各位!!!
...全文
1059 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
v_ae 2018-04-29
  • 打赏
  • 举报
回复

#生成器可以节省内存
def di(l):
     for i in range(len(l)):
         if i == 0 or l[i] != l[i-1]:
             yield l[i]
         else:
             continue
print(list(di(a)))
混沌鳄鱼 2018-04-27
  • 打赏
  • 举报
回复

>>> from itertools import groupby
>>> a=[1, 1, 1, 1, 1, 5, 5, 5, 5, 1, 1, 5, 5, 1]
>>> [k for k,v in groupby(a)]
[1, 5, 1, 5, 1]
oyljerry 2018-04-27
  • 打赏
  • 举报
回复
In [13]: b.append(a[0]) In [14]: for x in range(1,len(a)): if a[x] != a[x-1]: b.append(a[x])
k826416971 2018-04-27
  • 打赏
  • 举报
回复
[item for i, item in enumerate(a) if i==0 or a[i] != a[i-1]]

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧