# Python目录去重的这些方法梳理

> 作者/来源: UCloud 运营管理员
> 发布时间: 2022-12-24T08:09:00.000Z
> 分类: 推荐奖励
> 标签: Python
> 原文链接: http://117.50.162.249:3000/yun/articles/1928

---

# Python目录去重的这些方法梳理

> 来源: https://www.ucloud.cn/yun/128778.html
> 作者: 89542767
> 发布日期: 发布于2022-12-24 16:09

此篇文章阐述了Python目录去重的这些方法，原文中根据实例编码推荐的十分详尽。对大家学习培训和工作具有很强的参照参考意义，需用的小伙伴可以参考一下

　　请定义函数，将列表[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]中的重复元素除去，写出至少3种方法。

　　方法一：利用集合去重

```
　　list_1=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]
　　def func1(list_1):
　　return list(set(list_1))
　　print('去重后的列表:',func1(list_1))
```

　　方法二：利用for循环

```
　　list_2=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]
　　def func2(list_2):
　　#定义一个空列表
　　mylist_2=[]
　　#i遍历list_2
　　for i in list_2:
　　#如果i不在mylist_2，则添加到mylist_2
　　if i not in mylist_2:
　　mylist_2.append(i)
　　print(mylist_2)
　　print(func2(list_2))
```

　　方法三：巧用sort（）排序

```
　　list_3=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]
　　def func3(list_3):
　　result_list=[]
　　temp_list=sorted(list_3)
　　i=0
　　while i&lt;len(temp_list):
　　#如果不在result_list则添加进去，否则i+1
　　if temp_list&lt;i&gt;not in result_list:
　　result_list.append(temp_list&lt;i&gt;)
　　else:
　　i+=1
　　return result_list
　　print(func3(list_3))
```

　　方法四：巧用字典

```
　　list_4=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]
　　def func4(list_4):
　　#fromkeys()函数创建一个新字典，获取新字典的键（键值是唯一的）
　　result_list=[]
　　for i in{}.fromkeys(list_4).keys():
　　result_list.append(i)
　　return result_list
　　print(func4(list_4))
```

　　方法五：利用迭代器

```
　　import itertools
　　list_5=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]
　　def func5(list_5):
　　list_5.sort()
　　temp_list=itertools.groupby(list_5)
　　result_list=[]
　　for i,j in temp_list:
　　result_list.append(i)
　　return result_list
　　print(func5(list_5))
```

　　运行结果：

![微信截图_20221224160651.png](https://ucloud-blog.cn-bj.ufileos.com/articles/128778/images/128778_000.png)

　　综上所述，这篇文章就给大家介绍到这里了，希望可以给大家带来帮助。