python的list去重,Python列表如何去重

  python的list去重,Python列表如何去重

  

  直观方法

  最简单的思路就是:

  ids=[1,2,3,3,4,2,3,4,5,6,1]

  news_ids=[]

  foridinids:

  ifidnotinnews_ids:

  news_ids.append(id)

  打印新闻_ids相关推荐: 《Python基础教程》

  使用set方法

  ids=[1,4,3,3,4,2,3,4,5,6,1]

  ids=list(set(ids))这样的结果是没有保持原来的顺序。

  按照索引再次排序

  最后通过这种方式解决:

  ids=[1,4,3,3,4,2,3,4,5,6,1]

  news_ids=list(set(ids))

  使用itertools.grouby方法新闻

  如果不考虑列表顺序的话可用这个:

  ids=[1,4,3,3,4,2,3,4,5,6,1]

  ids.sort()

  it=itertools.groupby(ids)

  叉子,基尼:

  最高关于itertools.groupby的原理可以看这里:http://个文档。python。org/2/图书馆/ITER工具。ITER工具。分组依据

  使用reduce方法

  In[5]:ids=[1,4,3,3,4,2,3,4,5,6,1]

  In[6]:func=lambdax,y:xifyinxelsex [y]

  In[7]:reduce(func,[[],] ids)

  Out[7]:[1,4,3,2,5,6]上面是我在分析中运行的代码,其中的x,y:x如果y在x中否则x [y]等价于x,y: y in x和x orx [y]。

  思路其实就是先把本能冲动变为[[], 1,4,3,],然后在利用减少的特性。

  减少解释参看这里:http://个文档。python。org/2/库/功能。html #减少

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: