首页 > 其他 > 详细

list去重的各种方法

时间:2019-09-29 15:40:44      阅读:69      评论:0      收藏:0      [点我收藏+]

最简单的思路就是:

  • id = [1,2,3,3,4,2,3,4,5,6,2]
  • news_id = []
  • for id in id:
  •     if id not in news_id:
  •         news_id.append(id)
  • print news_id

是用set:


  • id = [1,4,3,3,4,2,3,4,5,6,2]
  • id = list(set(id))


按照索引再次排序:


  • id = [1,4,3,3,4,2,3,4,5,6,2]
  • news_id = list(set(id))
  • news_id.sort(key=id.index)



使用itertools.grouby,但是列表顺序会变:



  • id = [1,4,3,3,4,2,3,4,5,6,2]
  • id.sort()
  • it = itertools.groupby(id)
  • for k, g in it:
  •     print k
  •  


用reduce:


  • id = [1,4,3,3,4,2,3,4,5,6,2]
  • func = lambda x,y: y in x and x or x+[y]
  • reduce(func, [[], ] + id)
  •  




              思路其实就是先把ids变为[[], 1,4,3,......] ,然后在利用reduce的特性

更多技术资讯可关注:gzitcast

list去重的各种方法

原文:https://www.cnblogs.com/heimaguangzhou/p/11607804.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!