Python对list列表进行去重的几种方法

 更新时间:2024年10月25日 08:53:03   作者:matrixlzp  
python 列表就是我们js中的数组了,我们下文整理几个常用的python 列表去重实现方法,非常的简单好用,通过代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下

在 Python 中,可以使用以下几种方法对列表进行去重:

一、使用集合(set)转换再转回列表

这种方法简单快捷,但会改变列表中元素的顺序,因为集合是无序的。

如果按列表原来的顺序,输出应该是 [5, 4, 3, 2, 1],结果是 [1, 2, 3, 4, 5]

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = list( set(my_list) )
print(unique_list)

运行:

二、使用字典的键去重并保留顺序 (推荐)

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = list( {}.fromkeys(my_list).keys() )
print(unique_list)

运行:

三、使用循环和临时列表

空间占用多

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = []
for item in my_list:
    if item not in unique_list:
        unique_list.append( item )
print(unique_list)

四、使用OrderedDict(Python 3.6 之前字典不保证顺序,较早版本的 Python 使用这种方法)

from collections import OrderedDict
 
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = list( OrderedDict.fromkeys(my_list) )
print(unique_list)

五、实战案例

假设有这么一个列表 ['厦门中山路', '厦门医学院', '厦门鼓浪屿', '厦门软件园']

希望找出列表中的中文分词,并输出无重复分词。

输出:

['厦门', '中山路', '医学院', '鼓浪屿', '软件园']

import jieba
 
words = ['厦门中山路', '厦门医学院', '厦门鼓浪屿', '厦门软件园']
unique_list = []
for word in words:
    # 分词
    unique_list = unique_list +list( jieba.cut(word) )
 
# 去重
unique_list = list( {}.fromkeys(unique_list).keys() )
print( unique_list )

输出:

到此这篇关于Python对list列表进行去重的几种方法的文章就介绍到这了,更多相关Python list列表去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Windows环境下如何使用Pycharm运行sh文件

    Windows环境下如何使用Pycharm运行sh文件

    这篇文章主要介绍了Windows环境下如何使用Pycharm运行sh文件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • python数组和矩阵的用法解读

    python数组和矩阵的用法解读

    这篇文章主要介绍了python数组和矩阵的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 使用Django搭建一个基金模拟交易系统教程

    使用Django搭建一个基金模拟交易系统教程

    今天小编就为大家分享一篇使用Django搭建一个基金模拟交易系统教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python求解平方根的方法

    Python求解平方根的方法

    这篇文章主要介绍了Python求解平方根的方法,涉及Python数学运算的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 使用Python实现屏幕截图功能的详细教程

    使用Python实现屏幕截图功能的详细教程

    Python使用ImageGrab截图主要依赖于Pillow库(PIL库的一个分支),该库提供了ImageGrab模块来实现屏幕截图功能,以下是一个详细的截图教程,需要的朋友可以参考下
    2025-01-01
  • Python Pygame实战之打砖块小游戏

    Python Pygame实战之打砖块小游戏

    打砖块最早是由雅达利公司开发的一款独立游戏,也是无数人的童年记忆。本文将利用Python中的Pygame模块制作经典的打砖块游戏,需要的可以参考一下
    2022-02-02
  • Python PyMySQL操作MySQL数据库的方法详解

    Python PyMySQL操作MySQL数据库的方法详解

    PyMySQL是一个用于Python编程语言的纯Python MySQL客户端库,它遵循Python标准DB API接口,并提供了许多方便的功能,本文就来和大家简单介绍一下吧
    2023-05-05
  • pandas中groupby操作实现

    pandas中groupby操作实现

    本文主要介绍了pandas中groupby操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 在Python程序员面试中被问的最多的10道题

    在Python程序员面试中被问的最多的10道题

    本篇文章我们为大家整理了在Python程序员面试中被问的最多的10道题,我们还给出了最简便的解决办法,一起学习下。
    2017-12-12
  • Python list和str互转的实现示例

    Python list和str互转的实现示例

    这篇文章主要介绍了Python list和str互转的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论