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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。