python 列表去重
在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了下网上搜集到的几种方法。
一、方法1
1ids = [1,2,3,3,4,2,3,4,5,6,1]
2news_ids = []
3for id in ids:
4 if id not in news_ids:
5 news_ids.append(id)
6print news_ids
思路看起来比较清晰简单 ,也可以保持之前的排列顺序。
二、方法2
通过set方法进行处理
1ids = [1,4,3,3,4,2,3,4,5,6,1]
2ids = list(set(ids))
处理起来比较简单,使用了集合方法set进行处理,不过结果不会保留之前的顺序。
三、方法3
利用lambda匿名函数和 reduce 函数处理
1ids = [1,4,3,3,4,2,3,4,5,6,1]
2func = lambda x,y:x if y in x else x + [y]
3reduce(func, [[], ] + ids)
四、方法4
使用itertools模块
1import itertools
2ids = [1,4,3,3,4,2,3,4,5,6,1]
3ids.sort()
4it = itertools.groupby(ids)
5for k, g in it:
6 print k
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/python-list-move-repeat/3960.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.