最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
python 列表去重(数组)的几种方法
时间:2022-11-14 23:00:31 编辑:袖梨 来源:一聚教程网
在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了下网上搜集到的几种方法。
一、方法1
| 代码如下 | 复制代码 | 
| 
 ids = [1,2,3,3,4,2,3,4,5,6,1]  | 
	  |
思路看起来比较清晰简单 ,也可以保持之前的排列顺序。
二、方法2
通过set方法进行处理
| 代码如下 | 复制代码 | 
| 
 ids = [1,4,3,3,4,2,3,4,5,6,1]  | 
	  |
处理起来比较简单,使用了集合方法set进行处理,不过结果不会保留之前的顺序。
三、方法3
利用lambda匿名函数和 reduce 函数处理
| 代码如下 | 复制代码 | 
| ids = [1,4,3,3,4,2,3,4,5,6,1] func = lambda x,y:x if y in x else x + [y] reduce(func, [[], ] + ids)  | 
	  |
四、方法4
使用itertools模块
| 代码如下 | 复制代码 | 
| 
 import itertools  | 
	  |
五、无法保持原有顺序
| 代码如下 | 复制代码 | 
| 
 liebiao=set(liebiao)  | 
	  |
六、while遍历去重
| 代码如下 | 复制代码 | 
| 
 def delRepeat(liebiao):  | 
	  |
七、例子
程序很简单,直接上代码吧:
| 代码如下 | 复制代码 | 
| #coding=utf-8 def open_txt(): #打开TXT文本写入数组 try: xxx = file(r'C:\Users\Administrator\Desktop\user.txt', 'r') for xxx_line in xxx.readlines(): passlist.append(xxx_line) xxx.close() except: return 0 def write_txt(): #打开TXT文本写入数组 try: yyy = file(r'C:\Users\Administrator\Desktop\list_user.txt', 'w') for i in list_passwed: yyy.write(i) yyy.close() except: return 0 global passlist #声明全局变量 passlist = [] #用户名:anonymous 密码为空 open_txt() #TXT导入数组 #passlist = list(set(passlist)) #python 列表去重 global list_passwed #列表去重,不打乱原来的顺序 list_passwed=[] for i in passlist: if i not in list_passwed: list_passwed.append(i) write_txt()  | 
	  |
 
aside# set方法可以直接去重而且还会排序,如果需要排序的话用set是最快的
相关文章
- 二重螺旋金色魔灵怎么获得 金色魔灵获取攻略 11-04
 - 二重螺旋装备图纸怎么获得 装备图纸获取攻略 11-04
 - 2025年庆祝六一儿童节句子六一儿童节朋友圈文案(精选97句) 11-04
 - 二重螺旋输出角色怎么选 输出角色选择推荐 11-04
 - 二重螺旋妮弗尔夫人魔之楔怎么配-妮弗尔夫人魔之楔搭配推荐 11-04
 - 二重螺旋千面歌者的忧郁任务怎么做 千面歌者的忧郁任务流程攻略 11-04